simple bot for getting media info
This commit is contained in:
parent
8c420af0af
commit
27798e6e54
3 changed files with 31 additions and 2 deletions
26
labeler/adapter/telegram_bot.py
Normal file
26
labeler/adapter/telegram_bot.py
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
from telegram.ext import CommandHandler, ApplicationBuilder
|
||||||
|
|
||||||
|
from labeler.app.labeler import Application
|
||||||
|
from labeler.infra.e550w_printer.printer import E550W
|
||||||
|
from labeler.infra.renderer import PILRenderer
|
||||||
|
|
||||||
|
|
||||||
|
class LabelingBot:
|
||||||
|
def __init__(self, app):
|
||||||
|
self.app = app
|
||||||
|
|
||||||
|
async def media_info(self, update, context):
|
||||||
|
media = self.app.get_installed_media()
|
||||||
|
await update.message.reply_text(f"Installed media: {media.description}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
application = Application(PILRenderer(), E550W(os.environ.get("PRINTER_IP")))
|
||||||
|
bot = LabelingBot(application)
|
||||||
|
|
||||||
|
app = ApplicationBuilder().token(os.environ["TELEGRAM_TOKEN"]).build()
|
||||||
|
app.add_handler(CommandHandler("media_info", bot.media_info))
|
||||||
|
|
||||||
|
app.run_polling()
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
from labeler.domain.objects import Label, LabelRequest, LabelDefinition
|
from labeler.domain.objects import Label, LabelRequest, LabelDefinition, MediaDefinition
|
||||||
from labeler.interfaces import Renderer, Printer
|
from labeler.interfaces import Renderer, Printer
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -23,3 +23,6 @@ class Application:
|
||||||
)
|
)
|
||||||
|
|
||||||
self.renderer.render_label(label_definition)
|
self.renderer.render_label(label_definition)
|
||||||
|
|
||||||
|
def get_installed_media(self) -> MediaDefinition:
|
||||||
|
return self.printer.get_installed_media()
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ class E550W(Printer):
|
||||||
self.snmp_port = 161
|
self.snmp_port = 161
|
||||||
|
|
||||||
def get_installed_media(self) -> MediaDefinition:
|
def get_installed_media(self) -> MediaDefinition:
|
||||||
pass
|
return self.__get_printer_status()
|
||||||
|
|
||||||
def __get_printer_status(self):
|
def __get_printer_status(self):
|
||||||
raw_snmp_data = self.__get_snmp_status().asNumbers()
|
raw_snmp_data = self.__get_snmp_status().asNumbers()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue