def get_button_rows(self): rows = [] card_id, timer = self.args if timer: timer_spent = base_utils.mytime(timezone.now() - timer.created_at, True) rows.append( [dict(text=timer_spent, callback_data='/timer %s' % card_id)]) rows.append([ dict(text=(emoji.STOP, 'Stop'), callback_data='/timer_stop %s' % card_id), dict(text=(emoji.RESET, 'Reset'), callback_data='/timer_reset %s' % card_id), ]) timer_rows = [ dict(text=title, callback_data='/timer_plus %s %s' % (card_id, minutes)) for title, minutes in timer.INCREASING_TIMES ] rows += base_utils.chunks(timer_rows, 3) else: rows.append([ dict(text=(emoji.START, 'Start'), callback_data='/timer_start %s' % card_id), ]) rows.append([Back.get_button(callback_data='/back card %s' % card_id)]) return rows
def timer_stop(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) timer = tguser.timer_set.filter(card_id=card_id).first() if not timer: tguser.answer_callback_query('Timer was not started', show_alert=True) raise bot_utils.StateErrorHandler('timer_not_started') assert isinstance(timer, Timer) dur = timezone.now() - timer.created_at d = '%.2f' % (dur.seconds / 3600) card.add_comments('plus! %s/%s' % (d, d)) timer.delete() logged = mytime(dur, True) tguser.answer_callback_query('Logged %s' % logged) tguser.edit_message_reply_markup(keyboard=keyboards.Card(tguser, card_id, None))
def get_button_rows(self): rows = [] card_id, timer = self.args if timer: timer_spent = base_utils.mytime(timezone.now() - timer.created_at, True) rows.append( [dict(text=timer_spent, callback_data='/timer %s' % card_id)]) rows.append([ dict(text=(emoji.STOP, 'Stop'), callback_data='/timer_stop %s' % card_id), dict(text=(emoji.RESET, 'Reset'), callback_data='/timer_reset %s' % card_id), ]) else: rows.append([ dict(text=(emoji.START, 'Start'), callback_data='/timer_start %s' % card_id), ]) rows.append([Back.get_button(callback_data='/back card %s' % card_id)]) return rows