当前位置: 首页>>代码示例>>Python>>正文


Python TrelloClient.get_card方法代码示例

本文整理汇总了Python中trello.TrelloClient.get_card方法的典型用法代码示例。如果您正苦于以下问题:Python TrelloClient.get_card方法的具体用法?Python TrelloClient.get_card怎么用?Python TrelloClient.get_card使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在trello.TrelloClient的用法示例。


在下文中一共展示了TrelloClient.get_card方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: delete_from_trello

# 需要导入模块: from trello import TrelloClient [as 别名]
# 或者: from trello.TrelloClient import get_card [as 别名]
 def delete_from_trello(self):
     api_key = settings.TRELLO_KEY
     secret = settings.TRELLO_SECRET
     token = settings.TRELLO_TOKEN
     id = self.trello_id
     c = TrelloClient(api_key, secret, token)
     card = c.get_card(id)
     try:
         card.set_closed(True)
     except Exception:
         pass
开发者ID:CT-Data-Collaborative,项目名称:dataset-requests,代码行数:13,代码来源:models.py

示例2: delete_trello_card

# 需要导入模块: from trello import TrelloClient [as 别名]
# 或者: from trello.TrelloClient import get_card [as 别名]
def delete_trello_card(trello_card_id):
    """
    Delete (forever) a Trello Card by ID

    :trello_card_id: Trello card ID
    """
    trello_client = TrelloClient(api_key=trello_api_key, api_secret=trello_api_secret, token=trello_token, token_secret=trello_token_secret)
    try:
        trello_card = trello_client.get_card(trello_card_id)
        trello_card.delete()
    except Exception:
        print('Cannot find Trello card with ID {0} deleted in Task Warrior. Maybe you deleted it in Trello too.'.format(trello_card_id))
开发者ID:ogarcia,项目名称:trellowarrior,代码行数:14,代码来源:trellowarrior.py

示例3: TaskManager

# 需要导入模块: from trello import TrelloClient [as 别名]
# 或者: from trello.TrelloClient import get_card [as 别名]
class TaskManager():
    _client_trello = None
    _board = None
    _board_labels = None
    _config_file = ''
    _dict_label = {}

    def __init__(self, config_file):
        self._config_file = config_file
        config = ConfigParser.RawConfigParser()
        config.read(config_file)

        api_key = config.get('Management.Task', 'api.key')
        oath_token = config.get('Management.Task', 'oath.token')
        id_board = config.get('Management.Task', 'id.board')
        self._client_trello = TrelloClient(api_key, token=oath_token)
        self._board = self._client_trello.get_board(id_board)
        self._board_labels = self._board.get_labels()
        list_label = [label for label in self._board_labels if label.name != '' and label.color]
        for label in list_label:
            self._dict_label[label.name] = label

    @staticmethod
    def validate_connection():
        url_test = 'https://api.trello.com/1'
        try:
            result = requests.request('GET', url_test, timeout=5)
            return result.status_code == 200
        except ConnectionError as e:
            logger.warning("couldn't connect to trello, see error: %s" % e.message)
            return False
        except RuntimeError as e:
            logger.warning("couldn't connect to trello, timeout error: %s" % e.message)
            return False

    def refresh_list_id(self):
        dao_object = SdaTrackerDao(self._config_file)
        for a_list in self._board.all_lists():
            code_env = a_list.name
            id_list_tracker = a_list.id
            dao_object.update_list_tracker(code_env, id_list_tracker)

    def get_card_ticket(self, id_card_tracker):
        return self._client_trello.get_card(id_card_tracker) if id_card_tracker else None

    def send_ticket_card(self, dict_board_ticket):
        """Send new card or update it"""
        result_card = None
        dict_board = dict_board_ticket['dict_board']
        id_card_tracker = dict_board['id_card_tracker']
        try:
            action = None
            # get trello's card
            a_card = self.get_card_ticket(id_card_tracker)
            list_artifact = dict_board_ticket['artifacts']
            # get id_list trello
            id_list_tracker = dict_board['id_list_tracker']
            # id_ticket = card.name
            id_ticket = dict_board['id_ticket']
            # card's description
            string_json = json.dumps(list_artifact, indent=2)
            labels_artifact = self.get_labels_artifact(list_artifact)

            if a_card:
                action = "UPDATE"
                #print "update card"
                for label in a_card.labels:
                    a_card.client.fetch_json(
                        '/cards/' + a_card.id + '/idLabels/' + label.id,
                        http_method='DELETE')

                a_card.set_description(string_json)
                result_card = a_card

            else:
                action = "NEW"
                #print "new card"
                a_list = self._board.get_list(id_list_tracker)
                new_card = a_list.add_card(id_ticket, string_json)
                result_card = new_card

            result_card.add_label(self._dict_label['requested'])
            for label in labels_artifact:
                result_card.add_label(label)
            return {"result": "OK", "action": action, "result_card": result_card}
        except RuntimeError as e:
            return {"result": "ERROR", "description": e.message}

    def get_labels_artifact(self, list_artifact):
        list_label = []
        for dict_artifact in list_artifact:
            artifact = dict_artifact['artifact']
            ls = [label for label in self._board_labels if label.name == artifact]
            if len(ls) == 0:
                label = self._board.add_label(artifact, None)
                self._board_labels = self._board.get_labels()
                list_label.append(label)
            else:
                list_label.append(ls[0])
        return list_label
开发者ID:theRaffe,项目名称:sda.tracker,代码行数:102,代码来源:TaskManager.py

示例4: TrelloUpdater

# 需要导入模块: from trello import TrelloClient [as 别名]
# 或者: from trello.TrelloClient import get_card [as 别名]
class TrelloUpdater(object):
    """
    Class for writing to Trello.
    """

    def __init__(self, processed_report, trello_secret):
        self.logger = logging.getLogger(__name__)
        self.client = TrelloClient(api_key = trello_secret[':consumer_key'],
                                   api_secret = trello_secret[':consumer_secret'],
                                   token = trello_secret[':oauth_token'],
                                   token_secret = trello_secret[':oauth_token_secret'])

        #Extract report configuration parameters
        self.projects = processed_report[':collected_content'][':projects'];
        self.epics = processed_report[':collected_content'][':epics'];
        self.assignments = processed_report[':collected_content'][':assignments'];


    def update_projects(self):
        """Main function to update all project cards from config."""
        self.logger.info('---Started writing to Trello---')
        for project in self.projects:
            #find special card for no projects
            if self.projects[project][':name'] == 'No Project':
                no_project = project

            child_cards = [] #tuples of (name of chklist item, state of chklist item)
            #form lists of items for checklists
            for card in list(self.assignments):
                if self.assignments[card][':project'] == self.projects[project][':project'] and self.projects[project][':project'] != []:
                    chk_item_name = self.assignments[card][':short_url'] +" (" + self.assignments[card][':list_name'] + ") (" + self.assignments[card][':board_name'] + ")"
                    child_cards.append((chk_item_name, self.assignments[card][':completed']))
                    #self.logger.debug('Appending assignment %s to the project %s' % (self.assignments[card], self.projects[project][':name']))
                    self.assignments.pop(card,None)
            self.logger.debug("Project %s has assignments : %s" % (self.projects[project][':name'], child_cards))
            child_cards.sort(key = lambda x: x[1]) # Sort, so that unresolved cards are on top
            self.update_card(project, [ i[0] for i in child_cards] ,  [ i[1] for i in child_cards]);

        #assign items with no project to a special project card
        child_cards = []
        for card in self.assignments:
            chk_item_name = self.assignments[card][':short_url'] +" (" + self.assignments[card][':list_name'] + ") (" + self.assignments[card][':board_name'] + ")"
            child_cards.append((chk_item_name, self.assignments[card][':completed']))
            #self.logger.debug('Appending assignment %s to the No Project' % (self.assignments[card]))
        child_cards.sort(key = lambda x: x[1])
        self.logger.debug("Project %s has assignments : %s" % (self.projects[project][':name'], child_cards))
        self.update_card(no_project, [ i[0] for i in child_cards] ,  [ i[1] for i in child_cards]);

    def update_card(self, card_id, checklist_names, checklist_states):
        """
        Clean checklists from the card,
        Write new checklists to the card based on the report
        checklist_data: [("ID", "short_url", "list_name", "board_name", completed),...]
        """
        while True:
            try:
                tr_card = self.client.get_card(card_id)
                tr_card.fetch(eager=True)

                #self.logger.debug('Fetching checklists < %s > for Trello for card: %s' % (tr_card.checklists,self.projects[card_id][':name']))
            except ResourceUnavailable as e:
                self.logger.error('Trello unavailable! %s' % (e))
                continue
            break

        # Remove all existing checklists
        for old_chklist in tr_card.checklists:
            old_chklist.delete()

        assign_chk = tr_card.add_checklist("Assignments", checklist_names, checklist_states)
开发者ID:t0ffel,项目名称:trello-reporter,代码行数:72,代码来源:trello_updater.py

示例5: TrelloBoardTestCase

# 需要导入模块: from trello import TrelloClient [as 别名]
# 或者: from trello.TrelloClient import get_card [as 别名]
class TrelloBoardTestCase(unittest.TestCase):
    """
    Tests for TrelloClient API. Note these test are in order to
    preserve dependencies, as an API integration cannot be tested
    independently.
    """

    def setUp(self):
        self._trello = TrelloClient(os.environ['TRELLO_API_KEY'],
                                    token=os.environ['TRELLO_TOKEN'])
        for b in self._trello.list_boards():
            if b.name == os.environ['TRELLO_TEST_BOARD_NAME']:
                self._board = b
                break
        try:
            self._list = self._board.open_lists()[0]
        except IndexError:
            self._list = self._board.add_list('List')

    def _add_card(self, name, description=None):
        try:
            card = self._list.add_card(name, description)
            self.assertIsNotNone(card, msg="card is None")
            self.assertIsNotNone(card.id, msg="id not provided")
            self.assertEquals(card.name, name)
            return card
        except Exception as e:
            print(str(e))
            self.fail("Caught Exception adding card")

    def test40_add_card(self):
        name = "Testing from Python - no desc"
        card = self._add_card(name)

        self.assertIsNotNone(card.closed, msg="closed not provided")
        self.assertIsNotNone(card.url, msg="url not provided")

        card2 = self._trello.get_card(card.id)
        self.assertEqual(card.name, card2.name)

    def test41_add_card(self):
        name = "Testing from Python"
        description = "Description goes here"
        card = self._add_card(name, description)

        self.assertEquals(card.description, description)
        self.assertIsNotNone(card.closed, msg="closed not provided")
        self.assertIsNotNone(card.url, msg="url not provided")
        card.fetch()
        self.assertIsNotNone(card.member_id)
        self.assertIsNotNone(card.short_id)
        self.assertIsNotNone(card.list_id)
        self.assertIsNotNone(card.comments)
        self.assertIsNotNone(card.checklists)
        self.assertIsInstance(card.create_date, datetime)

    def test42_add_card_with_comments(self):
        name = "Card with comments"
        comment = "Hello World!"
        card = self._add_card(name)
        card.comment(comment)
        card.fetch(True)

        self.assertEquals(card.description, '')
        self.assertIsNotNone(card.closed, msg="closed not provided")
        self.assertIsNotNone(card.url, msg="url not provided")
        self.assertEquals(len(card.comments), 1)
        self.assertEquals(card.comments[0]['data']['text'], comment)

    def test43_delete_checklist(self):
        name = "Card with comments"
        card = self._list.add_card(name)
        card.fetch(True)

        name = 'Checklists'
        checklist = card.add_checklist(name,
                                       ['item1', 'item2'])
        self.assertIsNotNone(checklist, msg="checklist is None")
        self.assertIsNotNone(checklist.id, msg="id not provided")
        self.assertEquals(checklist.name, name)
        checklist.delete()
        card.delete()

    def test44_attach_url_to_card(self):
        name = "Testing from Python - url"
        card = self._add_card(name)

        card.attach(name='lwn', url='http://lwn.net/')
        card.fetch()
        self.assertEquals(card.badges['attachments'], 1)
        card.delete()

    def test52_get_cards(self):
        cards = self._board.get_cards()
        self.assertEquals(len(cards), 4)

        for card in cards:
            if card.name == 'Testing from Python':
                self.assertEqual(card.description, 'Description goes here')
            elif card.name == 'Testing from Python - no desc':
#.........这里部分代码省略.........
开发者ID:AlfiyaZi,项目名称:py-trello,代码行数:103,代码来源:test_trello.py


注:本文中的trello.TrelloClient.get_card方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。