Beispiel #1
0
 def __init__(self):
     try:
         self.aliases = eval(Config.byName("ALIASES").value)
     except SQLObjectNotFound:
         self.aliases = {}
     except Exception, e:
         tui.error("Aliases syntax error. Ignored")
         self.aliases = {}
Beispiel #2
0
 def parser_t_purge(self):
     parser = YokadiOptionParser()
     parser.set_usage("t_purge [options]")
     parser.set_description("Remove old done tasks from all projects.")
     parser.add_option("-f", "--force", dest="force", default=False, action="store_true",
                       help="Skip confirmation prompt")
     delay = int(Config.byName("PURGE_DELAY").value)
     parser.add_option("-d", "--delay", dest="delay", default=delay,
                       type="int", help="Delay (in days) after which done tasks are destroyed. Default is %d." % delay)
     return parser
Beispiel #3
0
def eventLoop():
    """Main event loop"""
    delta=timedelta(hours=float(Config.byName("ALARM_DELAY").value))
    suspend=timedelta(hours=float(Config.byName("ALARM_SUSPEND").value))
    cmdDelayTemplate=Config.byName("ALARM_DELAY_CMD").value
    cmdDueTemplate=Config.byName("ALARM_DUE_CMD").value
    # For the two following dict, task id is key, and value is (duedate, triggerdate)
    triggeredDelayTasks={}
    triggeredDueTasks={}
    activeTaskFilter=[Task.q.status!="done",
                      Task.q.projectID == Project.q.id,
                      Project.q.active == True]
    while event[0]:
        time.sleep(DELAY)
        now=datetime.today().replace(microsecond=0)
        delayTasks=Task.select(AND(Task.q.dueDate < now+delta,
                                   Task.q.dueDate > now,
                                   *activeTaskFilter))
        dueTasks=Task.select(AND(Task.q.dueDate < now,
                                 *activeTaskFilter))
        processTasks(delayTasks, triggeredDelayTasks, cmdDelayTemplate, suspend)
        processTasks(dueTasks, triggeredDueTasks, cmdDueTemplate, suspend)