def get_deleted_tasks(self): """ Get a list of deleted tasks in a Taskwarrior project :return: a list of Taskwarrior tasks objects :rtype: list """ if self._project == None: raise ClientError('get_completed_tasks') return self.taskwarrior_client.tasks.filter(project=self._project, status='deleted')
def get_completed_tasks(self, trelloid=None): """ Get a list of completed tasks in a Taskwarrior project :param trelloid: trelloid filter (None by default) :return: a list of Taskwarrior tasks objects :rtype: list """ if self._project == None: raise ClientError('get_completed_tasks') return self.taskwarrior_client.tasks.completed().filter(project=self._project, trelloid=trelloid)
def get_tasks_ids_set(self): """ Get a IDs set of pending and completed tasks :return: a set of IDs :rtype: set """ if self._project == None: raise ClientError('get_tasks_ids_set') pending_tasks_ids = set((task['trelloid'] for task in self.taskwarrior_client.tasks.pending().filter(project=self._project))) completed_tasks_ids = set((task['trelloid'] for task in self.taskwarrior_client.tasks.completed().filter(project=self._project))) return pending_tasks_ids | completed_tasks_ids
def get_list(self, list_name): """ Get a Trello list from list name, if it does not exist create it :param list_name: the list name :return: a Tello list :rtype: Trello list object """ if self._lists == None: raise ClientError('get_list') for trello_list in self._lists: if trello_list.name == list_name: logger.debug('Trello list {} found'.format(list_name)) return trello_list logger.debug('Creating Trello list {}'.format(list_name)) trello_list = self._board.add_list(list_name) self._lists.append(trello_list) # Update _lists with new list return trello_list
def get_board_label(self, label_name): """ Get a Trello board label from label name, if it does not exist create it :param label_name: the label name :return: a Tello label :rtype: Trello label object """ if self._board_labels == None: raise ClientError('get_board_label') for board_label in self._board_labels: if board_label.name == label_name: logger.debug('Trello board label {} found'.format(label_name)) return board_label logger.debug('Creating Trello board label {}'.format(label_name)) board_label = self._board.add_label(label_name, 'black') self._board_labels.append( board_label) # Update _board_labels with new label return board_label