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