code arrangement

pull/231/head
Yariv Menachem 2024-12-31 15:03:56 +02:00
parent f0f6cf044f
commit afa18099bb
2 changed files with 22 additions and 22 deletions

View File

@ -1,17 +1,25 @@
from __future__ import annotations
from telegram import MaybeInaccessibleMessage
from telegram.constants import ReactionEmoji
from jobspy import create_logger
from telegram_bot import TelegramBot
from telegram_handler.button_callback.button_fire_strategy import FireStrategy
from telegram_handler.button_callback.button_poo_strategy import PooStrategy
from telegram_handler.button_callback.button_strategy import ButtonStrategy
class ButtonCallBackContext():
class ButtonCallBackContext:
"""
The Context defines the interface
"""
def __init__(self, strategy: ButtonStrategy = None) -> None:
self.telegram_bot = TelegramBot()
self._strategy = strategy
def __init__(self, data: str, message: MaybeInaccessibleMessage) -> None:
self._logger = create_logger("Button CallBack Context")
self._message = message
self._data = data
self._telegram_bot = TelegramBot()
@property
def strategy(self) -> ButtonStrategy:
@ -32,14 +40,14 @@ class ButtonCallBackContext():
self._strategy = strategy
async def run(self) -> None:
# extract job id from message
# find the position in DB
# set applied to True
# save
# set reaction to message
self._logger.info("Starting")
if ReactionEmoji.FIRE.name == self._data:
self.strategy = FireStrategy(self._message)
elif ReactionEmoji.PILE_OF_POO.name == self._data:
self.strategy = PooStrategy(self._message)
else:
self._logger.error("Invalid enum value")
return
print("Context: Starting")
await self._strategy.execute()
print("Context: Finished")
# ...
self._logger.info("Finished")

View File

@ -20,14 +20,6 @@ class TelegramCallHandler:
"""Parses the CallbackQuery and updates the message."""
query = update.callback_query
await query.answer()
button_context = ButtonCallBackContext()
if ReactionEmoji.FIRE.name == query.data:
button_context.strategy = FireStrategy(query.message)
elif ReactionEmoji.PILE_OF_POO.name == query.data:
button_context.strategy = PooStrategy(query.message)
else:
self.logger.error("Invalid enum value")
return
button_context = ButtonCallBackContext(query.data,query.message)
await button_context.run()