示例#1
0
    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
示例#2
0
 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))
示例#3
0
 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