Beispiel #1
0
    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')
Beispiel #2
0
    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)
Beispiel #3
0
    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
Beispiel #4
0
    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
Beispiel #5
0
    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