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)