import re import logging import peewee from db.queries import skip_day_put from .telegram import TelegramCommand logger = logging.getLogger(__name__) class SkipDayAddCommand(TelegramCommand): command_text = "/skip_day" date_regex = re.compile(r"^(?P\d{4}-\d{2}-\d{2})$") async def exec_inner(self, text, update, session, forResponse=None, reply=None): try: yield "Please enter a skip day" response = await forResponse() m = self.date_regex.match(response) if(m is not None): skip_day_put(m.group('date')) yield f"Skip day {m.group('date')} has been added" else: yield "Please enter a valid date" except peewee.IntegrityError: yield "That day has already been added" commands = [ SkipDayAddCommand() ]