class Scheduler(Thread): ## Init ## def __init__(self, daemon=1): ## Event Methods ## def wait(self, seconds=None): ## Attributes ## def runningTasks(self): def running(self, name, default=None): def hasRunning(self, name): def setRunning(self, handle): def delRunning(self, name): def scheduledTasks(self): def scheduled(self, name, default=None): def hasScheduled(self, name): def setScheduled(self, handle): def delScheduled(self, name): def onDemandTasks(self): def onDemand(self, name, default=None): def hasOnDemand(self, name): def setOnDemand(self, handle): def delOnDemand(self, name): def nextTime(self): def setNextTime(self, time): def isRunning(self): ## Adding Tasks ## def addTimedAction(self, time, task, name): def addActionOnDemand(self, task, name): def addDailyAction(self, hour, minute, task, name): def addPeriodicAction(self, start, period, task, name): ## Task methods ## def unregisterTask(self, name): def runTaskNow(self, name): def demandTask(self, name): def stopTask(self, name): def stopAllTasks(self): def disableTask(self, name): def enableTask(self, name): def runTask(self, handle): def scheduleTask(self, handle): ## Misc Methods ## def notifyCompletion(self, handle): def notify(self): def stop(self): ## Main Method ## def run(self):