| @@ -25,9 +25,14 @@ def fromisoformat(datestr): | |||||
| else: | else: | ||||
| return None | return None | ||||
| ##@class TodoProject | |||||
| # @brief functions to load a single or all projects and has methods to check the state of the project | |||||
| class TodoProject: | class TodoProject: | ||||
| ''' Common class for api calls''' | ''' Common class for api calls''' | ||||
| ##@brief constructor of class | |||||
| # tries to load api-token from apikey-file. | |||||
| # @param project String with project name or integer with project_id | |||||
| def __init__(self,project=None): | def __init__(self,project=None): | ||||
| fh_api = open("apikey","r") | fh_api = open("apikey","r") | ||||
| self.apikey = fh_api.read() | self.apikey = fh_api.read() | ||||
| @@ -48,8 +53,9 @@ class TodoProject: | |||||
| return self.api.sync() | return self.api.sync() | ||||
| def checktaskstoday(self,tasklimit): | def checktaskstoday(self,tasklimit): | ||||
| if len(self.items.itemsForDay()) < tasklimit: | |||||
| self.sendnotification("TASKS","Not enough Tasks Scheduled for today!") | |||||
| numOfItems = len(self.items.itemsForDay()) | |||||
| if numOfItems < tasklimit: | |||||
| self.sendnotification("TASKS","Not enough Tasks Scheduled for today!\n" + "Only " + str(numOfItems) + " of " + str(tasklimit) + " tasks set!" ) | |||||
| def checkTasksWithoutNotes(self,date=date.today()): | def checkTasksWithoutNotes(self,date=date.today()): | ||||
| if len(self.items.itemsClosedWithoutNotes())>0: | if len(self.items.itemsClosedWithoutNotes())>0: | ||||
| @@ -126,6 +132,16 @@ class TodoItemList: | |||||
| _items.append(item) | _items.append(item) | ||||
| return _items | return _items | ||||
| ##@brief get all items that are due for specified day and not closed yet. | |||||
| # @_date date-object to specify the search day. Defaults to today. | |||||
| # @return list of items that have a duedate as specified in _date and are still open. | |||||
| def pendingItemsForDay(self,_date=date.today()): | |||||
| _items = [] | |||||
| for item in self.items: | |||||
| if item.dueOnDate(_date) and not item.checked: | |||||
| _items.append(item) | |||||
| return _items | |||||
| ##@brief get all items that closed but do not have notes attached to them | ##@brief get all items that closed but do not have notes attached to them | ||||
| # @return list of closed items that do not have notes attached. | # @return list of closed items that do not have notes attached. | ||||
| def itemsClosedWithoutNotes(self): | def itemsClosedWithoutNotes(self): | ||||