def _log_update_card(self, data, **kwargs): board = kwargs.get('board', None) try: list_id = data['action']['data']['card']['idList'] except: list_id = data['action']['data']['list']['id'] l = board.get_list(list_id) card = Card(l, data['action']['data']['card']['id']) card.fetch() entry = { "actor": data['action']['memberCreator'], "action": { "type": data['action']['type'], "translation_key": data['action']['display']['translationKey'], }, "data": data['action']['data'], "complaint": { 'id': card.id, 'name': card.name, 'desc': card.desc, 'closed': card.closed, 'url': card.url, 'shortUrl': card.shortUrl, 'idMembers': card.idMembers, 'idShort': card.idShort, 'idList': card.idList, 'idBoard': card.idBoard, 'idLabels': card.idLabels, 'labels': [label.name for label in card.labels] if card.labels else None, 'badges': card.badges, 'pos': card.pos, 'due': card.due, 'checked': card.checked, 'dateLastActivity': card.dateLastActivity, 'comments': card._comments, }, "action_date": dateutil.parser.parse(data['action']['date']) } return entry