Третий стрим

This commit is contained in:
2024-03-17 21:28:49 +04:00
parent a498a04481
commit 17cd64bdbc
29 changed files with 618 additions and 50 deletions

View File

@ -1,16 +1,17 @@
from aiogram.types import InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder
from app.callbacks.callback_docker import ContainerCallback, ActionCallback
def container_names_keyboard(stdout: str):
container_names = [line.split(" ")[-1].strip() for line in stdout.splitlines()[1:]]
builder = InlineKeyboardBuilder()
for name in container_names:
data = f"container_{name}"
builder.add(
InlineKeyboardButton(
text=name,
callback_data=data,
callback_data=ContainerCallback(name=name).pack(),
)
)
builder.adjust(1)
@ -23,19 +24,19 @@ def container_actions_keyboard(name: str):
builder.add(InlineKeyboardButton(
text="Запустить контейнер",
callback_data=f"action_start_{name}",
callback_data=ActionCallback(name=name, action="start").pack(),
))
builder.add(InlineKeyboardButton(
text="Остановить контейнер",
callback_data=f"action_stop_{name}",
callback_data=ActionCallback(name=name, action="stop").pack(),
))
builder.add(InlineKeyboardButton(
text="Перезапустить контейнер",
callback_data=f"action_restart_{name}",
callback_data=ActionCallback(name=name, action="restart").pack(),
))
builder.add(InlineKeyboardButton(
text="Удалить контейнер",
callback_data=f"action_delete_{name}",
callback_data=ActionCallback(name=name, action="delete").pack(),
))
builder.adjust(1)

View File

@ -0,0 +1,52 @@
from aiogram.types import KeyboardButton, InlineKeyboardButton
from aiogram.utils.keyboard import ReplyKeyboardBuilder, InlineKeyboardBuilder
from app.callbacks.callback_favorites import AddFavoriteCallback, DelFavoriteCallback
from app.schemas.favorites_schema import FavoritesSchemaOutput
from app.schemas.user_schema import UserSchemaOutput
async def favorite_list(favorites: list[FavoritesSchemaOutput]):
builder = ReplyKeyboardBuilder()
for favorite in favorites:
builder.add(
KeyboardButton(text=f"/command {favorite.command}")
)
builder.adjust(2)
return builder.as_markup(resize_keyboard=True, one_time_keyboard=True)
async def add_favorite_inline(user: UserSchemaOutput):
builder = InlineKeyboardBuilder()
builder.add(
InlineKeyboardButton(
text="Добавить команду",
callback_data=AddFavoriteCallback(user_id=user.id).pack()
)
)
builder.adjust(1)
return builder.as_markup()
async def add_del_favorite_inline(user: UserSchemaOutput):
builder = InlineKeyboardBuilder()
builder.add(
InlineKeyboardButton(
text="Добавить команду",
callback_data=AddFavoriteCallback(user_id=user.id).pack()
)
)
builder.add(
InlineKeyboardButton(
text="Удалить команду",
callback_data=DelFavoriteCallback(user_id=user.id).pack()
)
)
builder.adjust(1)
return builder.as_markup()