~saurabhanandiit/gtg/exportFixed

« back to all changes in this revision

Viewing changes to GTG/plugins/task_reaper/reaper.py

Merge of my work on liblarch newbase and all the backends ported to liblarch
(which mainly means porting the datastore).
One failing test, will check it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
103
103
 
104
104
    def schedule_autopurge(self):
105
105
        self.timer = Timer(self.TIME_BETWEEN_PURGES, self.delete_old_closed_tasks)
 
106
        self.timer.setDaemon(True)
106
107
        self.timer.start()
107
108
        self.__log("Automatic deletion of old tasks scheduled")
108
109
 
116
117
        self.__log("Starting deletion of old tasks")
117
118
        today = datetime.datetime.now().date()
118
119
        requester = self.plugin_api.get_requester()
119
 
        closed_tids = requester.get_tasks_list(status = [Task.STA_DISMISSED,
120
 
                                                  Task.STA_DONE])
121
 
        closed_tasks = [requester.get_task(tid) for tid in closed_tids]
122
 
        #print [t.get_title() for t in closed_tasks]
 
120
        closed_tree = requester.get_tasks_tree(name = 'inactive')
 
121
        closed_tasks = [requester.get_task(tid) for tid in \
 
122
                        closed_tree.get_all_nodes()]
123
123
        delta = datetime.timedelta(days = self.preferences["max_days"])
124
 
        #print [t.get_closed_date().to_py_date() for t in closed_tasks]
125
124
        to_remove = filter(lambda t: t.get_closed_date().to_py_date() < today -delta,\
126
125
                           closed_tasks)
127
126
        map(lambda t: requester.delete_task(t.get_id()), to_remove)
136
135
        """A configurable plugin should have this method and return True"""
137
136
        return True
138
137
 
139
 
    def configure_dialog(self, plugin_apis, manager_dialog):
 
138
    def configure_dialog(self, manager_dialog):
140
139
        self.preferences_load()
141
140
        self.preferences_dialog.set_transient_for(manager_dialog)
142
141
        self.pref_chbox_is_automatic.set_active(self.preferences["is_automatic"])