Files
serverbot/app/keyboards/docker_keyboards.py

44 lines
1.4 KiB
Python

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:
builder.add(
InlineKeyboardButton(
text=name,
callback_data=ContainerCallback(name=name).pack(),
)
)
builder.adjust(1)
return builder
def container_actions_keyboard(name: str):
builder = InlineKeyboardBuilder()
builder.add(InlineKeyboardButton(
text="Запустить контейнер",
callback_data=ActionCallback(name=name, action="start").pack(),
))
builder.add(InlineKeyboardButton(
text="Остановить контейнер",
callback_data=ActionCallback(name=name, action="stop").pack(),
))
builder.add(InlineKeyboardButton(
text="Перезапустить контейнер",
callback_data=ActionCallback(name=name, action="restart").pack(),
))
builder.add(InlineKeyboardButton(
text="Удалить контейнер",
callback_data=ActionCallback(name=name, action="delete").pack(),
))
builder.adjust(1)
return builder