44 lines
1.4 KiB
Python
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
|