Some bugfix in CI

This commit is contained in:
IgorVolochay
2026-08-25 16:04:38 +03:00
parent 2306855edd
commit df50140fcd
2 changed files with 18 additions and 8 deletions
+12 -4
View File
@@ -16,7 +16,7 @@ from datetime import datetime
import aiohttp import aiohttp
from dotenv import load_dotenv from dotenv import load_dotenv
from aiogram import Bot, Dispatcher, F from aiogram import Bot, Dispatcher, F
from aiogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup from aiogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup, Message
from schemas.base_schemas import Card from schemas.base_schemas import Card
from rabbit_worker import RabbitWorker from rabbit_worker import RabbitWorker
@@ -27,7 +27,7 @@ load_dotenv()
setup_logging() setup_logging()
# ── Configuration ────────────────────────────────────────────── # ── Configuration ──────────────────────────────────────────────
BOT_TOKEN = os.getenv("TG_BOT_TOKEN") BOT_TOKEN = os.getenv("TG_BOT_TOKEN") or ""
ADMIN_CHAT_ID = int(os.getenv("TG_ADMIN_CHAT_ID", "0")) ADMIN_CHAT_ID = int(os.getenv("TG_ADMIN_CHAT_ID", "0"))
API_BASE_URL = os.getenv("API_BASE_URL", "http://localhost:5000") API_BASE_URL = os.getenv("API_BASE_URL", "http://localhost:5000")
MODERATION_SECRET = os.getenv("MODERATION_SECRET", "change-me-in-production") MODERATION_SECRET = os.getenv("MODERATION_SECRET", "change-me-in-production")
@@ -117,6 +117,9 @@ async def call_moderation_api(action: str, card_id: int) -> dict:
# ── Callback button handlers ─────────────────────────────── # ── Callback button handlers ───────────────────────────────
@dp.callback_query(F.data.startswith("accept:")) @dp.callback_query(F.data.startswith("accept:"))
async def on_accept(callback: CallbackQuery) -> None: async def on_accept(callback: CallbackQuery) -> None:
if not callback.data or not isinstance(callback.message, Message):
return
card_id = int(callback.data.split(":")[1]) card_id = int(callback.data.split(":")[1])
result = await call_moderation_api("accept", card_id) result = await call_moderation_api("accept", card_id)
@@ -124,8 +127,9 @@ async def on_accept(callback: CallbackQuery) -> None:
await callback.answer(f"Ошибка: {result['result']}", show_alert=True) await callback.answer(f"Ошибка: {result['result']}", show_alert=True)
return return
orig_text = callback.message.text or ""
await callback.message.edit_text( await callback.message.edit_text(
callback.message.text + "\n\n✅ <b>ПРИНЯТА</b>", orig_text + "\n\n✅ <b>ПРИНЯТА</b>",
parse_mode="HTML", parse_mode="HTML",
) )
await callback.answer("Карточка принята!") await callback.answer("Карточка принята!")
@@ -134,6 +138,9 @@ async def on_accept(callback: CallbackQuery) -> None:
@dp.callback_query(F.data.startswith("reject:")) @dp.callback_query(F.data.startswith("reject:"))
async def on_reject(callback: CallbackQuery) -> None: async def on_reject(callback: CallbackQuery) -> None:
if not callback.data or not isinstance(callback.message, Message):
return
card_id = int(callback.data.split(":")[1]) card_id = int(callback.data.split(":")[1])
result = await call_moderation_api("reject", card_id) result = await call_moderation_api("reject", card_id)
@@ -141,8 +148,9 @@ async def on_reject(callback: CallbackQuery) -> None:
await callback.answer(f"Ошибка: {result['result']}", show_alert=True) await callback.answer(f"Ошибка: {result['result']}", show_alert=True)
return return
orig_text = callback.message.text or ""
await callback.message.edit_text( await callback.message.edit_text(
callback.message.text + "\n\n❌ <b>ОТКЛОНЕНА</b>", orig_text + "\n\n❌ <b>ОТКЛОНЕНА</b>",
parse_mode="HTML", parse_mode="HTML",
) )
await callback.answer("Карточка отклонена!") await callback.answer("Карточка отклонена!")
+6 -4
View File
@@ -41,10 +41,12 @@ def write_json(cards_list, json_file):
except Exception as e: except Exception as e:
print(f"Error writing to JSON file: {e}") print(f"Error writing to JSON file: {e}")
def add_cards_to_mongodb(cards_list): import asyncio
async def add_cards_to_mongodb(cards_list):
mongo = MongoWorker() mongo = MongoWorker()
for card in cards_list: for card in cards_list:
mongo.add_card_by_base_model(card) await mongo.add_card_by_base_model(card)
print(f"Successfully added {len(cards_list)} cards to MongoDB") print(f"Successfully added {len(cards_list)} cards to MongoDB")
@@ -60,13 +62,13 @@ if __name__ == "__main__":
if args.action == 0: if args.action == 0:
cards = create_cards(args.num, args.user) cards = create_cards(args.num, args.user)
add_cards_to_mongodb(cards) asyncio.run(add_cards_to_mongodb(cards))
elif args.action == 1: elif args.action == 1:
cards = create_cards(args.num, args.user) cards = create_cards(args.num, args.user)
write_json(cards, args.file) write_json(cards, args.file)
elif args.action == 2: elif args.action == 2:
cards = read_json(args.file) cards = read_json(args.file)
if cards: if cards:
add_cards_to_mongodb(cards) asyncio.run(add_cards_to_mongodb(cards))
else: else:
print("No valid cards found in JSON file.") print("No valid cards found in JSON file.")