giskard-evaluator / app_debug.py
inoki-giskard's picture
Display current job
affded7
raw
history blame
1.63 kB
from os import listdir
from os.path import isfile, join
import gradio as gr
import pipe
LOG_PATH = "./tmp"
CONFIG_PATH = "./cicd/configs"
def get_accordions_of_files(path, files):
components = []
for file in files:
with gr.Row():
with gr.Accordion(label=file, open=False):
with gr.Row():
with open(join(path, file), "r") as f:
gr.Markdown(f.read())
return components
def get_accordions_of_log_files():
log_files = [
f for f in listdir(LOG_PATH) if isfile(join(LOG_PATH, f)) and f.endswith("_log")
]
return get_accordions_of_files(LOG_PATH, log_files)
def get_accordions_of_config_files():
config_files = [
f
for f in listdir(CONFIG_PATH)
if isfile(join(CONFIG_PATH, f)) and f.endswith(".yaml")
]
return get_accordions_of_files(CONFIG_PATH, config_files)
def get_demo(demo):
with gr.Row():
# check if jobs is an attribute of pipe
if hasattr(pipe, "jobs") and len(pipe.jobs) > 0:
gr.Markdown(f"Current job: {pipe.current} Jobs in queue: {len(pipe.jobs)}")
else:
gr.Markdown("No jobs in queue, please submit an evaluation task.")
with gr.Accordion(label="Config Files", open=False):
config_accordion = get_accordions_of_config_files()
demo.load(get_accordions_of_config_files, outputs=config_accordion, every=1)
with gr.Accordion(label="Log Files", open=False):
log_accordions = get_accordions_of_log_files()
demo.load(get_accordions_of_log_files, outputs=log_accordions, every=1)