From 8604774741b7d44d0e78fa609639600ee99e898c Mon Sep 17 00:00:00 2001 From: ronis_0505 Date: Fri, 26 Sep 2025 20:26:48 +0300 Subject: [PATCH 1/5] fix imports update search_by_item and show_order --- app/FSM/states.py | 1 + app/handlers/orders.py | 8 -------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/app/FSM/states.py b/app/FSM/states.py index 54bc7aa..4ec72a2 100644 --- a/app/FSM/states.py +++ b/app/FSM/states.py @@ -4,6 +4,7 @@ from aiogram.fsm.state import State, StatesGroup class SearchForm(StatesGroup): search_option = State() data_to_search = State() + sent_messages = State() search_result = State() diff --git a/app/handlers/orders.py b/app/handlers/orders.py index cbb44a6..1981d21 100644 --- a/app/handlers/orders.py +++ b/app/handlers/orders.py @@ -132,14 +132,6 @@ async def search_by_item(message: Message, state: FSMContext): async def show_order(callback: CallbackQuery, state: FSMContext, bot: Bot): order_id = int(re.search(r"(\d+)", callback.data).group()) - try: - async with async_session_() as local_session: - result = await local_session.execute(select(Order).filter(Order.id == order_id)) - order = result.scalars().first() - - except Exception as err: - logger.warning(err) - order = next(filter(lambda item: order_id == item.id, await state.get_value("search_result")), None) if order: From 369bd7a6e163a0a57b468ee87093b223e9ab58fc Mon Sep 17 00:00:00 2001 From: ronis_0505 Date: Fri, 26 Sep 2025 20:53:36 +0300 Subject: [PATCH 2/5] Revert "clear database_engine imports" This reverts commit de9c0e67247faf800d4bd431ede61f3f0181bc3f. --- app/database/database_engine.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/database/database_engine.py b/app/database/database_engine.py index 59073e2..97d6829 100644 --- a/app/database/database_engine.py +++ b/app/database/database_engine.py @@ -1,8 +1,14 @@ import os -from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine +import asyncpg +from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine, session +import dotenv +# connection = psycopg2.connect(*(os.getenv(key) for key in ["DATABASE", "DB_HOST", "DB_USER", "DB_PASSWORD"])) +# connection.autocommit = True + +dotenv.load_dotenv(".env") DATABASE_URL = (f"postgresql+asyncpg://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@" f"{os.getenv('DB_HOST')}/{os.getenv('DATABASE')}") - +print(DATABASE_URL) engine = create_async_engine(DATABASE_URL, echo=True) async_session_ = async_sessionmaker(bind=engine, expire_on_commit=False) From 77a00d762375b31388e93f2970ea3836813edc76 Mon Sep 17 00:00:00 2001 From: ronis_0505 Date: Fri, 26 Sep 2025 21:12:23 +0300 Subject: [PATCH 3/5] clear and fix database modul --- app/database/database_engine.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/database/database_engine.py b/app/database/database_engine.py index 97d6829..15f2335 100644 --- a/app/database/database_engine.py +++ b/app/database/database_engine.py @@ -1,14 +1,8 @@ import os -import asyncpg from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine, session -import dotenv -# connection = psycopg2.connect(*(os.getenv(key) for key in ["DATABASE", "DB_HOST", "DB_USER", "DB_PASSWORD"])) -# connection.autocommit = True -dotenv.load_dotenv(".env") DATABASE_URL = (f"postgresql+asyncpg://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@" f"{os.getenv('DB_HOST')}/{os.getenv('DATABASE')}") -print(DATABASE_URL) engine = create_async_engine(DATABASE_URL, echo=True) async_session_ = async_sessionmaker(bind=engine, expire_on_commit=False) From ffe5e2e93821303a92b80c0049f1d3ff1028563a Mon Sep 17 00:00:00 2001 From: ronis_0505 Date: Fri, 26 Sep 2025 21:14:03 +0300 Subject: [PATCH 4/5] update orders list message sending --- app/handlers/orders.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/handlers/orders.py b/app/handlers/orders.py index 1981d21..bb774a1 100644 --- a/app/handlers/orders.py +++ b/app/handlers/orders.py @@ -146,7 +146,7 @@ async def show_order(callback: CallbackQuery, state: FSMContext, bot: Bot): (f"{clbk}_{order.id}", text) for clbk, text in order_operation_base.items())) ) - for message in SearchForm.sent_messages: + for message in await state.get_value("sent_messages"): await bot.delete_message(chat_id=callback.message.chat.id, message_id=message.message_id) await state.clear() From 51eebcc165281db1c5d796df532282b1995a45c7 Mon Sep 17 00:00:00 2001 From: ronis_0505 Date: Fri, 26 Sep 2025 21:14:15 +0300 Subject: [PATCH 5/5] fix env --- app/main.py | 4 +++- drone.yaml | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/main.py b/app/main.py index 0cbd730..b151107 100644 --- a/app/main.py +++ b/app/main.py @@ -1,12 +1,14 @@ import os import asyncio from dotenv import load_dotenv + +load_dotenv(".env") + from aiogram import Dispatcher, Bot from handlers import * from keyboards import set_main_menu from middlewares import SessionMiddleware -load_dotenv(".env") bot = Bot(token=os.getenv("TOKEN")) diff --git a/drone.yaml b/drone.yaml index 99749ed..74f3b97 100644 --- a/drone.yaml +++ b/drone.yaml @@ -40,10 +40,9 @@ steps: DB_PASSWORD: from_secret: DB_PASSWORD commands: - - echo "$ENV_CONTENT" > .env - docker stop myapp || true - docker rm myapp || true - - docker run --name=myapp --network=prod_net -v /srv/prod/telegram_bot/photos:/app/photos/ -v /srv/prod/telegram_bot/.env:/app/.env:ro myapp:${DRONE_COMMIT_BRANCH} + - docker run --name=myapp --network=prod_net -v /srv/prod/telegram_bot/photos:/app/photos/ -v /srv/prod/telegram_bot/.env:/app/.env:ro myapp:${DRONE_COMMIT_BRANCH} volumes: