format strings

This commit is contained in:
Kseninia Mikhaylova 2024-07-19 11:18:17 +03:00
parent c36f21b819
commit 5e8f4649a2
1 changed files with 41 additions and 28 deletions

View File

@ -56,21 +56,22 @@ class TgBot:
async def set_webhook(self): async def set_webhook(self):
await TgBot.app.bot.setWebhook( await TgBot.app.bot.setWebhook(
f"https://{self.baseurl}{reverse('tgitem-send-tg-data')}", drop_pending_updates=True f"https://{self.baseurl}{reverse('tgitem-send-tg-data')}",
drop_pending_updates=True,
) )
async def start_app(self): async def start_app(self):
await TgBot.app.initialize() await TgBot.app.initialize()
async def admin_action(self, name, queryset): async def admin_action(self, name, queryset):
if name == 'admin_get_image': if name == "admin_get_image":
async for item in queryset: async for item in queryset:
try: try:
text = await TgBot.app.bot.get_file(item.text) text = await TgBot.app.bot.get_file(item.text)
TgBotUpdater.return_values[item.text] = text.file_path TgBotUpdater.return_values[item.text] = text.file_path
except Exception as e: except Exception as e:
TgBotUpdater.return_values[item.text] = None TgBotUpdater.return_values[item.text] = None
if name == 'admin_get_name': if name == "admin_get_name":
item = queryset[0] item = queryset[0]
try: try:
text = await TgBot.app.bot.get_chat(item) text = await TgBot.app.bot.get_chat(item)
@ -134,11 +135,20 @@ class TgBot:
"У вас нет доступных для редактирования инвентаризаций" "У вас нет доступных для редактирования инвентаризаций"
) )
async def format_text(self, user, inv=None, tmc=None): def format_username(self, user):
text = ( return f"Специалист {user.name or user.full_name}, ID {user.id}"
f"Специалист {user.full_name}, ID {user.id}\n"
f"Введите название объекта" def format_inv(self, inv):
), return f"Инвентаризация `{inv.name}` от `{inv.created_at.strftime('%x')}`"
def format_tmc_count(self, tmc_count):
return f"Количество ТМЦ {tmc_count}\n"
def format_tmc_name(self, tmc):
return f"Название ТМЦ `{tmc.name}`\n"
def format_element(self, field):
return f"Элемент `{field.name}`\n"
async def get_inv(self, update: Update, context: CallbackContext): async def get_inv(self, update: Update, context: CallbackContext):
query = update.callback_query query = update.callback_query
@ -203,10 +213,7 @@ class TgBot:
if update.effective_message.text == "/inv": if update.effective_message.text == "/inv":
context.chat_data["step"] = "name" context.chat_data["step"] = "name"
await update.effective_message.reply_markdown_v2( await update.effective_message.reply_markdown_v2(
( "\n".join([self.format_username(user), f"Введите название объекта"]),
f"Специалист {user.name or user.full_name}, ID {user.id}\n"
f"Введите название объекта"
),
reply_parameters=ReplyParameters( reply_parameters=ReplyParameters(
message_id=update.effective_message.message_id message_id=update.effective_message.message_id
), ),
@ -229,10 +236,12 @@ class TgBot:
context.chat_data["step"] = "add_tmc" context.chat_data["step"] = "add_tmc"
await update.effective_message.reply_markdown_v2( await update.effective_message.reply_markdown_v2(
( "\n".join(
f"Инвентаризация `{inv.name}` от `{inv.created_at.strftime('%x')}`\n" [
f"Количество ТМЦ {await inv.tmc.acount()}\n\n" self.format_inv(inv),
"Выберите, какую ТМЦ вы осматриваете:" self.format_tmc_count(await inv.tmc.acount()),
"Выберите, какую ТМЦ вы осматриваете:",
]
), ),
reply_parameters=ReplyParameters( reply_parameters=ReplyParameters(
message_id=update.effective_message.message_id message_id=update.effective_message.message_id
@ -266,11 +275,13 @@ class TgBot:
context.chat_data["step"] = "add_element" context.chat_data["step"] = "add_element"
await update.effective_message.reply_markdown_v2( await update.effective_message.reply_markdown_v2(
( "\n".join(
f"Инвентаризация `{inv.name}` от `{inv.created_at.strftime('%x')}`\n" [
f"Количество ТМЦ {await inv.tmc.acount()}\n\n" self.format_inv(inv),
f"Название ТМЦ `{tmc.name}`\n" self.format_tmc_count(await inv.tmc.acount()),
f"Что вы загружаете?" self.format_tmc_name(tmc),
f"Что вы загружаете?",
]
), ),
reply_parameters=ReplyParameters( reply_parameters=ReplyParameters(
message_id=update.effective_message.message_id message_id=update.effective_message.message_id
@ -297,12 +308,14 @@ class TgBot:
context.chat_data["step"] = "add_element_data" context.chat_data["step"] = "add_element_data"
await update.effective_message.reply_markdown_v2( await update.effective_message.reply_markdown_v2(
( "\n".join(
f"Инвентаризация `{inv.name}` от `{inv.created_at.strftime('%x')}`\n" [
f"Количество ТМЦ {await inv.tmc.acount()}\n\n" self.format_inv(inv),
f"Название ТМЦ `{tmc.name}`\n" self.format_tmc_count(await inv.tmc.acount()),
f"Элемент `{field.name}`\n" self.format_tmc_name(tmc),
f"Загрузите фото или пришлите текст" self.format_element(field),
f"Загрузите фото или пришлите текст",
]
), ),
reply_parameters=ReplyParameters( reply_parameters=ReplyParameters(
message_id=update.effective_message.message_id message_id=update.effective_message.message_id
@ -322,7 +335,7 @@ class TgBot:
element.text = update.message.text element.text = update.message.text
await element.asave() await element.asave()
empty_fields = await tmc_element.field.filter(text=None).acount() empty_fields = await tmc_element.field.filter(text=None).acount()
if empty_fields > 0: if empty_fields > 0:
context.chat_data["step"] = "add_tmc" context.chat_data["step"] = "add_tmc"