add ruff format, ruff check, time_picker, project structure and imports reorganized
This commit is contained in:
@@ -1,93 +1,88 @@
|
||||
from aiogram import Router, F
|
||||
from aiogram.filters import Command
|
||||
from aiogram.fsm.context import FSMContext
|
||||
from aiogram.types import Message, CallbackQuery, InlineKeyboardButton
|
||||
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
||||
from logging import getLogger
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
from ....model.settings import Settings
|
||||
from ....model.user import UserBase
|
||||
from ..context import ContextData, CallbackCommand
|
||||
from ..common import get_send_message
|
||||
from ....utils.main import get_send_message
|
||||
from ..navigation import save_navigation_context, pop_navigation_context
|
||||
|
||||
import qbot.bot.handlers.menu.entities as entities
|
||||
import qbot.bot.handlers.menu.settings as settings
|
||||
import qbot.bot.handlers.menu.parameters as parameters
|
||||
import qbot.bot.handlers.menu.language as language
|
||||
import qbot.bot.handlers.editors.main as editor
|
||||
import qbot.bot.handlers.editors.main_callbacks as editor_callbacks
|
||||
import qbot.bot.handlers.forms.entity_list as entity_list
|
||||
import qbot.bot.handlers.forms.entity_form as entity_form
|
||||
import qbot.bot.handlers.forms.entity_form_callbacks as entity_form_callbacks
|
||||
import qbot.bot.handlers.common.filtering_callbacks as filtering_callbacks
|
||||
import qbot.bot.handlers.user_handlers as user_handlers
|
||||
|
||||
|
||||
logger = getLogger(__name__)
|
||||
router = Router()
|
||||
|
||||
|
||||
# @router.message(Command("menu"))
|
||||
# async def command_menu(message: Message, **kwargs):
|
||||
|
||||
# await clear_state(state = kwargs["state"], clear_nav = True)
|
||||
# callback_data = ContextData(command = CallbackCommand.MENU_ENTRY_MAIN)
|
||||
# stack = await save_navigation_context(callback_data = callback_data, state = kwargs["state"])
|
||||
# kwargs.update({"navigation_stack": stack, "callback_data": callback_data})
|
||||
|
||||
# await main_menu(message, **kwargs)
|
||||
|
||||
|
||||
# @router.callback_query(CallbackData.filter(F.command == CallbackCommand.MENU_ENTRY))
|
||||
# async def menu_entry(query: CallbackQuery, callback_data: CallbackData, user: UserBase, db_session: AsyncSession, app: QBotApp):
|
||||
|
||||
# pass
|
||||
|
||||
|
||||
@router.callback_query(ContextData.filter(F.command == CallbackCommand.MENU_ENTRY_MAIN))
|
||||
async def menu_entry_main(message: CallbackQuery, **kwargs):
|
||||
async def menu_entry_main(message: CallbackQuery, **kwargs):
|
||||
stack = await save_navigation_context(
|
||||
callback_data=kwargs["callback_data"], state=kwargs["state"]
|
||||
)
|
||||
|
||||
stack = await save_navigation_context(callback_data = kwargs["callback_data"], state = kwargs["state"])
|
||||
|
||||
await main_menu(message, navigation_stack = stack, **kwargs)
|
||||
await main_menu(message, navigation_stack=stack, **kwargs)
|
||||
|
||||
|
||||
async def main_menu(message: Message | CallbackQuery, navigation_stack: list[ContextData], **kwargs):
|
||||
|
||||
async def main_menu(
|
||||
message: Message | CallbackQuery, navigation_stack: list[ContextData], **kwargs
|
||||
):
|
||||
keyboard_builder = InlineKeyboardBuilder()
|
||||
|
||||
keyboard_builder.row(
|
||||
InlineKeyboardButton(
|
||||
text = (await Settings.get(Settings.APP_STRINGS_REFERENCES_BTN)),
|
||||
callback_data = ContextData(command = CallbackCommand.MENU_ENTRY_ENTITIES).pack()))
|
||||
|
||||
|
||||
keyboard_builder.row(
|
||||
InlineKeyboardButton(
|
||||
text = (await Settings.get(Settings.APP_STRINGS_SETTINGS_BTN)),
|
||||
callback_data = ContextData(command = CallbackCommand.MENU_ENTRY_SETTINGS).pack()))
|
||||
|
||||
text=(await Settings.get(Settings.APP_STRINGS_REFERENCES_BTN)),
|
||||
callback_data=ContextData(
|
||||
command=CallbackCommand.MENU_ENTRY_ENTITIES
|
||||
).pack(),
|
||||
)
|
||||
)
|
||||
|
||||
keyboard_builder.row(
|
||||
InlineKeyboardButton(
|
||||
text=(await Settings.get(Settings.APP_STRINGS_SETTINGS_BTN)),
|
||||
callback_data=ContextData(
|
||||
command=CallbackCommand.MENU_ENTRY_SETTINGS
|
||||
).pack(),
|
||||
)
|
||||
)
|
||||
|
||||
context = pop_navigation_context(navigation_stack)
|
||||
if context:
|
||||
keyboard_builder.row(
|
||||
InlineKeyboardButton(
|
||||
text = (await Settings.get(Settings.APP_STRINGS_BACK_BTN)),
|
||||
callback_data = context.pack()))
|
||||
|
||||
text=(await Settings.get(Settings.APP_STRINGS_BACK_BTN)),
|
||||
callback_data=context.pack(),
|
||||
)
|
||||
)
|
||||
|
||||
send_message = get_send_message(message)
|
||||
|
||||
await send_message(text = (await Settings.get(Settings.APP_STRINGS_MAIN_NENU)),
|
||||
reply_markup = keyboard_builder.as_markup())
|
||||
await send_message(
|
||||
text=(await Settings.get(Settings.APP_STRINGS_MAIN_NENU)),
|
||||
reply_markup=keyboard_builder.as_markup(),
|
||||
)
|
||||
|
||||
|
||||
from .entities import router as entities_router
|
||||
from .settings import router as settings_router
|
||||
from .parameters import router as parameters_router
|
||||
from .language import router as language_router
|
||||
from ..editors import router as editors_router
|
||||
from ..forms.entity_list import router as entity_list_router
|
||||
from ..forms.entity_form import router as entity_form_router
|
||||
from ..common import router as common_router
|
||||
from ..user_handlers import router as user_handlers_router
|
||||
|
||||
router.include_routers(
|
||||
entities_router,
|
||||
settings_router,
|
||||
parameters_router,
|
||||
language_router,
|
||||
editors_router,
|
||||
entity_list_router,
|
||||
entity_form_router,
|
||||
common_router,
|
||||
user_handlers_router
|
||||
entities.router,
|
||||
settings.router,
|
||||
parameters.router,
|
||||
language.router,
|
||||
editor.router,
|
||||
editor_callbacks.router,
|
||||
entity_list.router,
|
||||
entity_form.router,
|
||||
entity_form_callbacks.router,
|
||||
filtering_callbacks.router,
|
||||
user_handlers.router,
|
||||
)
|
||||
|
||||
from ..navigation import save_navigation_context, pop_navigation_context, clear_state
|
||||
Reference in New Issue
Block a user