Используя Trello API, я хотел бы скопировать карту с одной платы в определенный список на другой доске.
У меня есть некоторые программы, запрограммированные с помощью py-trello (оболочки Python для Trello API).Py-Trello здесь https://github.com/sarumont/py-trello
Py-Trello не имеет кода для копирования карт, и я не мог понять, как использовать действия, описанные на этой странице API Trello (https://developers.trello.com/reference/#cards-nested-resource) и использовать некоторыефункции в py-trello.
Я считаю, что мне нужно вызвать эту функцию в py-trello или написать свою собственную функцию на основе этого кода. Однако я просто незнаю, как вызвать эту функцию с помощью опции copyCard.
def fetch_json(
self,
uri_path,
http_method='GET',
headers=None,
query_params=None,
post_args=None,
files=None):
""" Fetch some JSON from Trello """
# explicit values here to avoid mutable default values
if headers is None:
headers = {}
if query_params is None:
query_params = {}
if post_args is None:
post_args = {}
# if files specified, we don't want any data
data = None
if files is None:
data = json.dumps(post_args)
# set content type and accept headers to handle JSON
if http_method in ("POST", "PUT", "DELETE") and not files:
headers['Content-Type'] = 'application/json; charset=utf-8'
headers['Accept'] = 'application/json'
# construct the full URL without query parameters
if uri_path[0] == '/':
uri_path = uri_path[1:]
url = 'https://api.trello.com/1/%s' % uri_path
if self.oauth is None:
query_params['key'] = self.api_key
query_params['token'] = self.api_secret
# perform the HTTP requests, if possible uses OAuth authentication
response = self.http_service.request(http_method, url, params=query_params,
headers=headers, data=data,
auth=self.oauth, files=files,
proxies=self.proxies)
if response.status_code == 401:
raise Unauthorized("%s at %s" % (response.text, url), response)
if response.status_code != 200:
raise ResourceUnavailable("%s at %s" % (response.text, url), response)
return response.json()
py-trello даже имеет функцию для замены платы для карты. Копирование здесь ниже, но, увы, я не могу изменить этот кодкопировать функцию карты, потому что я не знаю, как использовать « вложенные карты в качестве параметров URL » из API Trello.
def change_board(self, board_id, list_id=None):
args = {'value': board_id}
if list_id is not None:
args['idList'] = list_id
self.client.fetch_json(
'/cards/' + self.id + '/idBoard',
http_method='PUT',
post_args=args)
Я хотел бы иметь возможность скопировать карту иФункция копирования карты должна возвращать объект py-trello, указывающий на новую карту, созданную в результате копирования.
Спасибо!