Портфолио: Рефакторинг кода

This commit is contained in:
Kirill Samoylenkov 2025-08-22 21:11:08 +07:00
parent f6a2c1fa30
commit 5c18e22b80
31 changed files with 447 additions and 283 deletions

View file

@ -17,4 +17,3 @@ from .inline import (
get_admin_news_markup,
get_admin_news_offer_markup,
)

View file

@ -7,11 +7,10 @@ from .utils import create_callback_markup
### Пользовательские ###
########################
def get_back_markup(
button_name: str = "Назад",
callback_data: str = "menu"
) -> InlineKeyboardMarkup:
button_name: str = "Назад", callback_data: str = "menu"
) -> InlineKeyboardMarkup:
"""
Пластичная функция для отправки обратно в какое-то меню.
Пластичная функция для отправки обратно в какое-то меню.
"""
return create_callback_markup(
[button_name],
@ -30,23 +29,29 @@ def get_menu_markup() -> InlineKeyboardMarkup:
def get_news_menu_markup() -> InlineKeyboardMarkup:
return create_callback_markup(
["Предложить новость", "Статистика", "Назад"],
["news_offer", "news_statistics", "menu"],
1,
1,
1,
["Предложить новость", "Статистика", "Назад"],
["news_offer", "news_statistics", "menu"],
1,
1,
1,
)
def get_offer_news_markup() -> InlineKeyboardMarkup:
return create_callback_markup(
["Написать текст", "Указать контакты", "Отправить", "Отмена"],
["news_input_text", "news_input_contact", "news_offer_send", "news_offer_cancel"],
[
"news_input_text",
"news_input_contact",
"news_offer_send",
"news_offer_cancel",
],
1,
1,
2,
)
#############
### Админ ###
#############
@ -58,6 +63,7 @@ def get_admin_menu_markup() -> InlineKeyboardMarkup:
1,
)
def get_admin_news_markup() -> InlineKeyboardMarkup:
return create_callback_markup(
["Предложка", "Избранные новости", "Назад"],
@ -99,4 +105,3 @@ def get_admin_news_offer_markup(news) -> InlineKeyboardMarkup:
1,
1,
)

View file

@ -5,15 +5,15 @@ from aiogram.utils.keyboard import InlineKeyboardBuilder
def create_callback_markup(
texts: List[str],
data: List[str],
*adjust: int
) -> InlineKeyboardMarkup:
texts: List[str],
data: List[str],
*adjust: int,
) -> InlineKeyboardMarkup:
"""
Создание Callback-Inline клавиатуры.
Принимает два списка: текст кнопок и данные, которые они посылают.
Также можно указать размеры для каждой строчки клавиатуры.
Выводит объект для reply_markup.
Создание Callback-Inline клавиатуры.
Принимает два списка: текст кнопок и данные, которые они посылают.
Также можно указать размеры для каждой строчки клавиатуры.
Выводит объект для reply_markup.
"""
builder = InlineKeyboardBuilder()
@ -24,6 +24,5 @@ def create_callback_markup(
if len(adjust) > 0:
builder.adjust(*adjust)
return builder.as_markup()
return builder.as_markup()