1
0
mirror of http://aero2k.de/t/repos/urlbot-native.git synced 2017-09-06 15:25:38 +02:00

patch by braph: use Lib/sched.py instead of own scheduler

This commit is contained in:
braph
2016-04-03 22:41:03 +02:00
committed by Thorsten Sperber
parent fca53d869f
commit eb932f24d6
2 changed files with 12 additions and 23 deletions

View File

@@ -3,12 +3,13 @@ import logging
import time
import traceback
import types
import sched
import config
from common import RATE_NO_LIMIT, pluginfunction, config_locked, ptypes_PARSE, ptypes_COMMAND, ptypes_MUC_ONLINE, ptypes
from plugins import commands, parsers, muc_online
joblist = []
joblist = sched.scheduler(time.time, time.sleep)
plugins = {p: [] for p in ptypes}
log = logging.getLogger(__name__)
@@ -47,11 +48,11 @@ def register_active_event(t, callback, args, action_runner, plugin, msg_obj):
action = callback(*func_args)
if action:
action_runner(action=action, plugin=plugin, msg_obj=msg_obj)
joblist.append((t, func, args))
joblist.enterabs(t, 0, func, args)
def register_event(t, callback, args):
joblist.append((t, callback, args))
joblist.enterabs(t, 0, callback, args)
def else_command(args):
@@ -108,19 +109,6 @@ def register_all():
register(ptypes_MUC_ONLINE)
def event_trigger():
if 0 == len(joblist):
return True
now = time.time()
for (i, (t, callback, args)) in enumerate(joblist):
if t < now:
callback(*args)
del (joblist[i])
return True
@pluginfunction('help', 'print help for a command or all known commands', ptypes_COMMAND)
def command_help(argv, **args):
what = argv[0] if argv else None
@@ -236,5 +224,7 @@ def reset_jobs(argv, **args):
if args['reply_user'] != config.conf_get('bot_owner'):
return
else:
joblist.clear()
for event in joblist.queue:
joblist.cancel(event)
return {'msg': 'done.'}