コード例 #1
0
ファイル: test.py プロジェクト: bthate/meds
def runcmnds(event):
    if cfg.main.owner not in event.origin: event.reply("EOWNER %s" % event.origin) ; return
    bot = TestBot()
    bot.workdir = "test.data"
    try: nrloops = int(event.args[0])
    except: nrloops = 1
    for x in range(nrloops): launcher.launch(cmndrun, event)
コード例 #2
0
ファイル: stats.py プロジェクト: bthate/meds
def init(mods):
    for names in ["suicide", "pogingen", "incidenten", "opname", "alarm"]:
        if names not in cfg.main.init: continue
        for name in display.get(names):
            nr = cijfers.get(name, 0)
            if nr:
                repeater = Repeater(seconds(cijfers.get(name)), mention, name=name)
                launcher.launch(repeater.start)
コード例 #3
0
ファイル: clock.py プロジェクト: bthate/meds
def init(mods):
    store = Store()
    for fn in store.all("timer"):
        o = Event().load(fn)
        if "time" not in o: continue
        if time.time() < int(o.time):
            timer = Timer(int(o.time), o)
            launcher.launch(timer.start)
コード例 #4
0
ファイル: rss.py プロジェクト: bthate/meds
def init(mods):
    global seen
    store = Store()
    rss = store.last("results", "rss")
    if rss:
        seen = rss
    rss = Repeater(600, fetcher, name="rss.fetch")
    launcher.launch(rss.start)
コード例 #5
0
ファイル: test_cmnds.py プロジェクト: bthate/meds
 def test_cmnds(self):
     for cmnd in sorted(cmnds.handlers.keys()):
         if cmnd in ["test", "fetcher"]: continue
         event = Event()
         event.txt = cmnd + " arg1" 
         event._bot = bot
         event.origin = "[email protected]"
         event.parse()
         logging.warn("< %s" % event.txt)
         func = cmnds.get(event.cmnd)
         if func: launcher.launch(func, event)
         events.append(event)
     for event in events: event.wait(3.0) 
コード例 #6
0
ファイル: clock.py プロジェクト: bthate/meds
def timer(event):
    if not event.rest: return
    day = get_day(event.rest) or today()
    hour = get_hour(event.rest)
    target = day + get_hour(event.rest)
    if time.time() > target: event.reply("already passed given time.") ; return
    event.reply("time is %s" % time.ctime(target))
    e = Event()
    e._bot = event._bot
    e.services = "clock"
    e.prefix = "timer"
    e.txt = event.rest
    e.time = target
    e.done = False
    e.save()
    timer = Timer(target, e.parse())
    launcher.launch(timer.start)
    e.ok()
コード例 #7
0
ファイル: irc.py プロジェクト: bthate/meds
def init(mods):
    store = Store()
    ncfg = store.last("cfg", "irc")
    if not ncfg: ncfg = cfg.irc ; ncfg.save()
    bot = IRC(ncfg)
    bot.connecting()
    launcher.launch(bot.push)
    launcher.launch(bot.loop)
    launcher.launch(bot.start)
コード例 #8
0
ファイル: xmpp.py プロジェクト: bthate/meds
def init(mods):
    store = Store()
    cfg = store.last("cfg", "xmpp")
    if not cfg: cfg = cfg.xmpp ; cfg.save()
    password = getpass.getpass()
    xmpp = XMPP(cfg.user, password)
    xmpp.update(cfg)
    launcher.launch(xmpp.core)
    launcher.launch(xmpp.loop)
    launcher.launch(xmpp.start)
コード例 #9
0
ファイル: irc.py プロジェクト: bthate/meds
 def dcced(self, event, s):
     s.send(bytes('Welcome to MEDS ' + event.nick + " !!\n", self.encoding))
     launcher.launch(self.dccloop, event, s)
コード例 #10
0
ファイル: system.py プロジェクト: bthate/meds
def init(*args, **kwargs):
    todo = Repeater(60, syncerd, name="syncerd")
    launcher.launch(todo.start)
コード例 #11
0
ファイル: udp.py プロジェクト: bthate/meds
def init(mods):
    objs.udp = UDP()
    launcher.launch(objs.udp.start)
コード例 #12
0
ファイル: rest.py プロジェクト: bthate/meds
def init(mods):
    server = REST((cfg.rest.hostname, int(cfg.main.port or cfg.rest.port)), RESTHandler)
    launcher.launch(server.start)