Move GUI toolkit from tkinter to nicegui for easier prototyping #7
|
@ -177,21 +177,6 @@ files = [
|
||||||
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
|
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ansi2html"
|
|
||||||
version = "1.9.2"
|
|
||||||
description = "Convert text with ANSI color codes to HTML or to LaTeX"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
files = [
|
|
||||||
{file = "ansi2html-1.9.2-py3-none-any.whl", hash = "sha256:dccb75aa95fb018e5d299be2b45f802952377abfdce0504c17a6ee6ef0a420c5"},
|
|
||||||
{file = "ansi2html-1.9.2.tar.gz", hash = "sha256:3453bf87535d37b827b05245faaa756dbab4ec3d69925e352b6319c3c955c0a5"},
|
|
||||||
]
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
docs = ["mkdocs", "mkdocs-material", "mkdocs-material-extensions", "mkdocstrings", "mkdocstrings-python", "pymdown-extensions"]
|
|
||||||
test = ["pytest", "pytest-cov"]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anyio"
|
name = "anyio"
|
||||||
version = "4.6.2.post1"
|
version = "4.6.2.post1"
|
||||||
|
@ -2158,4 +2143,4 @@ propcache = ">=0.2.0"
|
||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.11"
|
python-versions = "^3.11"
|
||||||
content-hash = "fb89def5cebe48bacf2ecf52d3a52988c2ca964a523857d34ea037ff287120c6"
|
content-hash = "e6d65a92946717f8c239c1920193c45a350d163ec22316a8218828b4580c072f"
|
||||||
|
|
|
@ -13,7 +13,6 @@ loguru = "^0.7.2"
|
||||||
sh = "^2.1.0"
|
sh = "^2.1.0"
|
||||||
docker = "^7.1.0"
|
docker = "^7.1.0"
|
||||||
aiodocker = "^0.23.0"
|
aiodocker = "^0.23.0"
|
||||||
ansi2html = "^1.9.2"
|
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["poetry-core"]
|
requires = ["poetry-core"]
|
||||||
|
|
|
@ -5,8 +5,6 @@ import docker
|
||||||
import time
|
import time
|
||||||
|
|
||||||
docker_client = docker.from_env()
|
docker_client = docker.from_env()
|
||||||
from ansi2html import Ansi2HTMLConverter
|
|
||||||
conv = Ansi2HTMLConverter()
|
|
||||||
|
|
||||||
# Dictionary of applications: key is the button text, value is the command to execute
|
# Dictionary of applications: key is the button text, value is the command to execute
|
||||||
applications = {
|
applications = {
|
||||||
|
|
|
@ -49,8 +49,9 @@ async def container_logs(container, element):
|
||||||
with element:
|
with element:
|
||||||
acontainer = await adocker.containers.get(container.id)
|
acontainer = await adocker.containers.get(container.id)
|
||||||
async for log in acontainer.log(stdout=True, stderr=True, follow=True):
|
async for log in acontainer.log(stdout=True, stderr=True, follow=True):
|
||||||
ui.label(log)
|
for line in log.splitlines():
|
||||||
# ui.html(conv.convert(log)
|
ui.label(line)
|
||||||
|
# ui.html(conv.convert(bytes(log,'utf-8').decode('utf-8', 'xmlcharrefreplace'), full=False))
|
||||||
|
|
||||||
class Robot:
|
class Robot:
|
||||||
robot_type = "spiri-mu"
|
robot_type = "spiri-mu"
|
||||||
|
@ -141,7 +142,6 @@ class Robot:
|
||||||
compose_file = Path(compose_file)
|
compose_file = Path(compose_file)
|
||||||
if not compose_file.exists():
|
if not compose_file.exists():
|
||||||
raise FileNotFoundError(f"File {compose_file} does not exist")
|
raise FileNotFoundError(f"File {compose_file} does not exist")
|
||||||
ui.label(f"Starting drone stack {compose_file}")
|
|
||||||
args = [
|
args = [
|
||||||
"docker-compose",
|
"docker-compose",
|
||||||
"--profile",
|
"--profile",
|
||||||
|
|
Loading…
Reference in New Issue