def boards(tguser: TgUser): assert isinstance(tguser.client, TrelloClient) boards = tguser.client.get_boards() timer_board_ids = tguser.timer_set.values_list('board_id', flat=True) tguser.render_to_string('bot/private/choose_board.html', keyboard=keyboards.Boards( tguser, boards, timer_board_ids), edit=True)
def board_list(tguser: TgUser, list_id=None): if list_id is None: list_id = tguser.callback_query_data_get(1) assert isinstance(tguser.client, TrelloClient) board_list = tguser.client.get_list(list_id) assert isinstance(board_list, trolly.List) cards = board_list.get_cards() timer_card_ids = tguser.timer_set.values_list('card_id', flat=True) tguser.render_to_string('bot/private/choose_card.html', keyboard=keyboards.Cards(tguser, list_id, cards, timer_card_ids), edit=True)
def board(tguser: TgUser, board_id=None): if board_id is None: board_id = tguser.callback_query_data_get(1) assert isinstance(tguser.client, TrelloClient) board = tguser.client.get_board(board_id) assert isinstance(board, trolly.Board) lists = board.get_lists() timer_list_ids = tguser.timer_set.values_list('list_id', flat=True) tguser.render_to_string('bot/private/choose_list.html', keyboard=keyboards.Lists(tguser, lists, timer_list_ids), edit=True)
def start(tguser: TgUser): parts = tguser.message.text.split() if len(parts) == 2: # noinspection PyBroadException try: s = base_utils.real_urlsafe_b64decode( parts[1].encode()).decode() if s.startswith('token:'): p = s.split(':') if len(p) == 2: token_id = p[1] t = Token.objects.filter( id=token_id, created_at__gt=timezone.now() - timedelta(days=1)).first() if t: token = t.token t.delete() tguser.authorize(token) return tguser.render_to_string( 'bot/private/authorized.html', keyboard=keyboards.Start) except Exception as e: pass if not tguser.is_authorized(): PrivateHandler.unauthorized(tguser)
def card(tguser: TgUser): card_id = tguser.callback_query_data_get(1) assert isinstance(tguser.client, TrelloClient) card = tguser.client.get_card(card_id) assert isinstance(card, trolly.Card) card_info = card.get_card_information() timer = tguser.timer_set.filter(card_id=card_id).first() message = tguser.render_to_string('bot/private/show_card.html', context=dict(card=card_info), keyboard=keyboards.Card(tguser, card_id, timer), edit=True) if timer: assert isinstance(message, Message) timer.message_id = message.message_id timer.save()
def unauthorized(cls, tguser: TgUser): assert isinstance(tguser.client, TrelloClient) url = tguser.client.get_authorisation_url() tguser.render_to_string('bot/private/errors/not_authorized.html', context=dict(url=url), edit=True)
def help(tguser: TgUser): tguser.render_to_string('bot/private/help.html', keyboard=keyboards.Start)
def edit_message(tguser: TgUser): tguser.render_to_string('bot/private/errors/cannot_edit_message.html')
def unknown_text(tguser: TgUser): tguser.render_to_string('bot/private/errors/unknown_text.html', keyboard=keyboards.Start) if tguser.after_unknown_text: tguser.after_unknown_text(tguser) OtherHandler.send_to_feedback_tgchat(tguser, feedback_tgchat())
def cancel(tguser: TgUser): tguser.reset() tguser.render_to_string('bot/private/canceled.html', keyboard=keyboards.Start)
def unknown_content_type(tguser: TgUser): tguser.render_to_string('bot/private/errors/unknown_content_type.html', keyboard=keyboards.Start) if tguser.after_unknown_text: tguser.after_unknown_text(tguser)