Some bugfix in CI
This commit is contained in:
+12
-4
@@ -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("Карточка отклонена!")
|
||||||
|
|||||||
@@ -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.")
|
||||||
|
|||||||
Reference in New Issue
Block a user