Skip to main content

A very simple package to trigger events at a specific DateTime.

Project description

date-time-event

Codacy Badge Codacy Badge FOSSA Status HitCount

A very simple package to trigger events at a specific DateTime.

Installation

Use the package manager pip to install with the following command:

pip install date-time-event

If you would like to get the latest master or branch from github, you could also:

pip install git+https://github.com/Saadmairaj/date-time-event

Or even select a specific revision (branch/tag/commit):

pip install git+https://github.com/Saadmairaj/date-time-event@master

Usage

It is very simple and easy to use. First import the class which can be used either as a decorator or a thread function.

from date_time_event import Untiltime

The Untiltime class is threaded based timer which will wait till the given date or timer is met. As it runs on a separate thread, it doesn't effect the main thread or lock it.

from datetime import datetime, timedelta
from date_time_event import Untiltime

# Current datetime with 5 seconds in future.
date = datetime.now() + timedelta(0, 5)


@Untiltime(dateOrtime=date)
def function():
    print('Hello! Its time!', datetime.now())


function()
print('Function will be call at: %s \n' % date)
  • Untiltime decorator options. Syntax: @Untiltime( **options )

    Options Description
    function Pass Target function.
    dateOrtime Give date or time for the function to trigger if None give function will be a threaded function which can only run once. The date, time or datetime should be an instance of datetime module.
    name A string used for identification purposes only. Just like in thread
    join Wait until the thread terminates. This blocks the calling thread until the thread whose join() method is called terminates.
    group Reserved for future extension when a ThreadGroup class is implemented.
    daemon A boolean value indicating whether this thread is a daemon thread (True) or not (False).
    args The args is the argument tuple for the target invocation. Defaults to ().
    kwargs The kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.

The Untiltime class can also be used as thread class. Like so

from datetime import datetime, timedelta
from date_time_event import Untiltime

def function():
    print('Hello! Its time!', datetime.now())


# Current datetime with 5 seconds in future.
date = datetime.now() + timedelta(0, 5)

th = Untiltime(function, dateOrtime=date)
th.start()

print('Function will be call at: %s \n' % date)

Once the thread is called it can be stopped or cancel if called .cancel() method before the datetime event occurs.

  • Set date can be changed with property date, if the thread has not started.
from datetime import datetime, timedelta
from date_time_event import Untiltime

def function():
    print('Hello! Its time!', datetime.now())


# Current datetime with 5 seconds in future.
date = datetime.now() + timedelta(0, 1)

th = Untiltime(function, dateOrtime=date)
# Initializing new date
th.date = datetime.now() + timedelta(0, 5)
th.start()

print('Function will be call at: %s \n' % th.date)

License

FOSSA Status

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

date-time-event-0.0.1.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

date_time_event-0.0.1-py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page