Source code for point.plugs.timer
# p/plugs/timer.py
#
#
""" time the timing. """
## IMPORTS
from point.utils import strtotime, today
from point import kernel, Object
import datetime
import threading
import logging
import time
## Timer class
[docs]class Timer(Object):
def __init__(p, time_sleep, event, *args, **kwargs):
Object.__init__(p, *args, **kwargs)
p.time_sleep = time_sleep
p.timer = threading.Timer(p.time_sleep, p.echo)
p.event = event
p.timer.start()
logging.warn("started")
[docs] def echo(p, *args, **kwargs): p.event.reply(p.event.rest)
## do_timer command
[docs]def do_timer(event):
todo_time = strtotime(event.rest)
if todo_time:
do_time = today() + todo_time
time_diff = do_time - time.time()
event.reply("time detected: %s" % time.ctime(do_time))
kernel.run["timer"] = Timer(time_diff, event)
kernel.cmnds.register("timer", do_timer)