def add_card(self, list_id, name="", description="", label_colour=[]): url = "/1/cards" _list = self.get_list_by_id(list_id) labels = [] if _list.id: labels = [ l.id for l in self.get_board_labels(_list.board_id) if l.colour in label_colour ] if not labels: raise Exception(f"Unable to find label: {label_colour}") query_string = { "idList": list_id, "name": name, "pos": "bottom", "idLabels": ",".join(labels), "desc": description, } resp = TrelloAPI.send_request( method="POST", url=url, params=query_string ) if resp: card = self.get_card_by_id(resp['id']) print(f"Card Added: {card}") return card else: raise Exception("Unable to add card")
def get_cards_by_list_id(self, id=""): url = f"/1/lists/{id}/cards" resp = TrelloAPI.send_request(url) cards = [] if resp: cards = [Card(c) for c in resp] return cards
def get_board_by_id(self, id=""): url = f"/1/boards/{id}" query_string = {"actions": "all", "cards": "all", "lists": "all"} resp = TrelloAPI.send_request(url, params=query_string) board = Board() if resp: board = Board(resp) return board
def get_board_ids(self, title=""): url = "/1/members/me/boards" query_string = {"filter": "all", "fields": ""} resp = TrelloAPI.send_request(url, params=query_string) boards = [] if resp: boards = [b["id"] for b in resp if b.get("id")] return boards
def get_card_comments_by_id(self, id=""): url = f"/1/cards/{id}/actions" query_string = {"filter": "commentCard"} resp = TrelloAPI.send_request(url, params=query_string) comments = [] if resp: comments = [Comment(c) for c in resp] return comments
def get_list_by_id(self, id=""): url = f"/1/lists/{id}" query_string = {"fields": "all"} resp = TrelloAPI.send_request(url, params=query_string) _list = List() if resp: _list = List(resp) _list.cards = self.get_cards_by_list_id(id) return _list
def get_lists_by_board_id(self, id=""): url = f"/1/boards/{id}/lists" query_string = {"cards": "all", "card_fields": "all"} resp = TrelloAPI.send_request(url, params=query_string) lists = [] if resp: for l in resp: _list = List(l) lists.append(_list) return lists
def get_board_labels(self, id=""): url = f"/1/boards/{id}/labels" query_string = {"fields": "all"} resp = TrelloAPI.send_request(url, params=query_string) labels = [] if resp: for l in resp: label = Label(l) labels.append(label) return labels
def get_card_by_id(self, id=""): url = f"/1/cards/{id}" query_string = {"fields": "all", "card_fields": "all"} resp = TrelloAPI.send_request(url, params=query_string) card = Card() if resp: card = Card(resp) if card.has_comments: card.comments = self.get_card_comments_by_id(id) return card
def delete_board(self, id): url = f"/1/boards/{id}" board = self.get_board_by_id(id) if not board.id: raise Exception(f"Unable to find board with ID: {id}") resp = TrelloAPI.send_request(method="DELETE", url=url) if resp: print(f"Board {id} deleted") else: raise Exception("Unable to delete board")
def delete_card_comment(self, id, comment_id): url = f"/1/cards/{id}/actions/{comment_id}/comments" card = self.get_card_by_id(id) if not card.id: raise Exception(f"Unable to find card with ID: {id}") resp = TrelloAPI.send_request(method="DELETE", url=url) if resp: print("Comment Deleted") else: raise Exception("Unable to delete comment")
def add_board(self, name): url = "/1/boards/" query_string = {"name": name} resp = TrelloAPI.send_request( method="POST", url=url, params=query_string ) if resp: print("Board Added:") board = self.get_board_by_id(resp["id"]) print(board) return board else: raise Exception("Unable to create board")
def add_card_comment(self, id, comment): url = f"/1/cards/{id}/actions/comments" card = self.get_card_by_id(id) if not card.id: raise Exception(f"Unable to find card with ID: {id}") query_string = {"text": comment} resp = TrelloAPI.send_request( method="POST", url=url, params=query_string ) if resp: card = self.get_card_by_id(id) card.show_details = True card.comments = self.get_card_comments_by_id(id) print(f"Comment Added: {card}") else: raise Exception("Unable to add comment")
def delete_card_by_id(self, id=""): url = f"/1/cards/{id}" resp = TrelloAPI.send_request(method="DELETE", url=url) if resp: print(f"Card {id} deleted")
def auth(self, key="", token=""): TrelloAPI(key, token) self.initialized = TrelloAPI.initialized