Skip to content

Saadmairaj/date-time-event

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

date-time-event

PyPI Codacy Badge Codacy Badge Downloads Hits FOSSA Status

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 2 seconds in future.
    date = datetime.now() + timedelta(0, 2)
    
    th = Untiltime(function, dateOrtime=date)
    # Initializing new date with 5 seconds in future
    th.date = datetime.now() + timedelta(0, 5)
    th.start()
    
    print('Function will be call at: %s \n' % th.date)

FOSSA Status