本文整理汇总了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
示例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))
示例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
示例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)
示例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':
#.........这里部分代码省略.........