Exemplo n.º 1
0
 def add(self, taskname, func):
     """ add a task. """
     logging.debug("tasks - added task %s - %s" % (taskname, func))
     self.handlers[taskname] = func
     plugin = self.plugins[taskname] = calledfrom(sys._getframe())
     plugs.load_mod(plugin)
     return True
Exemplo n.º 2
0
 def addjob(self, sleeptime, repeat, function, description="" , *args, **kw): 
     """ add a periodical job. """
     job = JobInterval(sleeptime, repeat, function, *args, **kw)
     job.group = calledfrom(sys._getframe())
     job.description = str(description) or whichmodule()
     self.jobs.append(job)
     return job.pid
Exemplo n.º 3
0
 def add(self, what, func, prereq=None, kwargs=None, threaded=False, nr=False, speed=5):
     """  add a callback. """
     what = what.upper()
     modname = calledfrom(sys._getframe())
     if not kwargs: kwargs = {}
     if nr != False: self.cbs.insert(nr, what, Callback(modname, func, prereq, kwargs, threaded, speed))
     else: self.cbs.add(what, Callback(modname, func, prereq, kwargs, threaded, speed))
     logging.debug('added %s (%s)' % (what, modname))
     return self
Exemplo n.º 4
0
def minutely(function):
    """ minute decorator. """
    minutely.__dict__ = function.__dict__
    group = calledfrom(sys._getframe())

    def wrapper(*args, **kw):
        job = JobInterval(60, 0, function, *args, **kw)
        job.group = group
        job.description = whichmodule()
        periodical.jobs.append(job)
        logging.warn('new interval job %d running minutely' % job.id())

    return wrapper
Exemplo n.º 5
0
def daily(function):
    """ day decorator. """
    logging.warn('@daily(%s)' % str(function))
    daily.__dict__ = function.__dict__
    group = calledfrom(sys._getframe())

    def wrapper(*args, **kw):
        job = JobInterval(86400, 0, function, *args, **kw)
        job.group =  group
        job.description = whichmodule()
        periodical.jobs.append(job)
        logging.warb('new interval job %d running daily' % job.id())

    return wrapper
Exemplo n.º 6
0
def interval(sleeptime, repeat=0):
    """ interval decorator. """
    group = calledfrom(sys._getframe())

    def decorator(function):
        decorator.__dict__ = function.__dict__

        def wrapper(*args, **kw):
            job = JobInterval(sleeptime, repeat, function, *args, **kw)
            job.group = group
            job.description = whichmodule()
            periodical.jobs.append(job)
            logging.warn('new interval job %d with sleeptime %d' % (job.id(), sleeptime))
        return wrapper

    return decorator
Exemplo n.º 7
0
def at(start, interval=1, repeat=1):

    """ at decorator. """
    group = calledfrom(sys._getframe())

    def decorator(function):
        decorator.__dict__ = function.__dict__

        def wrapper(*args, **kw):
            job = JobAt(start, interval, repeat, function, *args, **kw)
            job.group = group
            job.description = whichmodule()
            periodical.jobs.append(job)

        wrapper.__dict__ = function.__dict__
        return wrapper

    return decorator
Exemplo n.º 8
0
 def add(self, cmnd, func, perms, threaded=False, wait=False, orig=None, how=None, speed=None, regex=False, *args, **kwargs):
     """ add a command. """
     modname = calledfrom(sys._getframe())
     try: prev = self[cmnd]
     except KeyError: prev = None
     target = Command(modname, cmnd, func, perms, threaded, wait, orig, how, speed=speed)
     if regex:
         logging.info("regex command detected - %s" % cmnd)
         self.regex.append(target)
         target.regex = cmnd 
         return self
     self[cmnd] = target
     try:
         p = cmnd.split('-')[0]
         if not self.pre: self.pre = LazyDict()
         if p in self.pre:
             if not self.pre[p]: self.pre[p] = []
             if prev in self.pre[p]: self.pre[p].remove(prev) 
             if target not in self.pre[p]: self.pre[p].append(target)
         else: self.pre[p] = [target, ]
     except IndexError: pass
     return self
Exemplo n.º 9
0
 def __init__(self, func):
     self.modname = calledfrom(sys._getframe(1))
     self.func = func
     self.activate = True
Exemplo n.º 10
0
 def __init__(self, *args, **kwargs):
     PersistState.__init__(self, getdatadir() + os.sep + 'state' + os.sep + calledfrom(sys._getframe(1))+'.state')
Exemplo n.º 11
0
 def __init__(self, *args, **kwargs):
     self.plugname = calledfrom(sys._getframe())
     logging.debug('persiststate - initialising %s' % self.plugname)
     PersistState.__init__(self, getdatadir() + os.sep + 'state' + os.sep + 'plugs' + os.sep + self.plugname + os.sep + 'state')
Exemplo n.º 12
0
 def save(self):
     """ save the config. """
     logging.info("save called from %s" % calledfrom(sys._getframe(2)))
     self.issaved = True
     if self.isdb: self.todb()
     else: self.tofile(self._cfile)
Exemplo n.º 13
0
 def __init__(self, ddir):
     plugname = calledfrom(sys._getframe())
     PersistCollection.__init__(self, ddir)
Exemplo n.º 14
0
 def __init__(self):
     plugname = calledfrom(sys._getframe())
     self.path =  getdatadir() + os.sep + 'plugs' + os.sep + stripname(plugname) + os.sep
     PersistCollection.__init__(self, self.path)
Exemplo n.º 15
0
 def __init__(self, filename, default={}, *args, **kwargs):
     plugname = calledfrom(sys._getframe())
     Persist.__init__(self, getdatadir() + os.sep + 'plugs' + os.sep + stripname(plugname) + os.sep + stripname(filename), default=default, *args, **kwargs)
Exemplo n.º 16
0
 def kill(self):
     """ kill all jobs invoked by another module. """
     group = calledfrom(sys._getframe())
     self.killgroup(group)