From c2fbde81f95f6775cfe6661248366894d7df20f1 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Sun, 2 Feb 2025 15:06:31 +0100 Subject: [PATCH] Implement basic version of scroreboard --- scoreboard/index.html | 18 +++++++++++++ scoreboard/main.py | 54 ++++++++++++++++++++++++++++++++++++++ scoreboard/static/main.css | 12 +++++++++ 3 files changed, 84 insertions(+) create mode 100644 scoreboard/index.html create mode 100644 scoreboard/main.py create mode 100644 scoreboard/static/main.css diff --git a/scoreboard/index.html b/scoreboard/index.html new file mode 100644 index 000000000..005c21072 --- /dev/null +++ b/scoreboard/index.html @@ -0,0 +1,18 @@ + + + + + Task Directories + + + +

Scoreboard

+ + + + + + +
Tasksallmpiompseqstltbb
example
example_disabled
+ + diff --git a/scoreboard/main.py b/scoreboard/main.py new file mode 100644 index 000000000..fa9cc37dd --- /dev/null +++ b/scoreboard/main.py @@ -0,0 +1,54 @@ +from pathlib import Path +from collections import defaultdict + +task_types = ['all', 'mpi', 'omp', 'seq', 'stl', 'tbb'] + +tasks_dir = Path('tasks') + +directories = defaultdict(dict) + +for task_type in task_types: + task_type_dir = tasks_dir / task_type + if task_type_dir.exists() and task_type_dir.is_dir(): + for task_name in (d.name for d in task_type_dir.iterdir() if d.is_dir()): + directories[task_name][task_type] = True + +print(directories) + +columns = ''.join(['' + task_type + '' for task_type in task_types]) +html_content = f""" + + + + Task Directories + + + +

Scoreboard

+ + + + {columns} + +""" + +for dir in directories: + html_content += f"" + for task_type in task_types: + if directories[dir].get(task_type): + html_content += "" + else: + html_content += "" + html_content += "" + +html_content += """ +
Tasks
{dir}
+ + +""" + +output_file = Path('scoreboard/index.html') +with open(output_file, 'w') as file: + file.write(html_content) + +print(f"HTML page generated at {output_file}") diff --git a/scoreboard/static/main.css b/scoreboard/static/main.css new file mode 100644 index 000000000..dcb8f2e80 --- /dev/null +++ b/scoreboard/static/main.css @@ -0,0 +1,12 @@ +table { + width: 100%; + border-collapse: collapse; +} +th, td { + border: 1px solid black; + padding: 8px; + text-align: left; +} +th { + background-color: #f2f2f2; +}