Add datasets and enhance select

This commit is contained in:
2023-06-05 20:04:12 +02:00
parent 11bef3d7f4
commit 97677b185f
7 changed files with 136 additions and 11 deletions

View File

@@ -1,16 +1,16 @@
import os
import json
from benchmark.Utils import Files, Folders
from benchmark.ResultsBase import StubReport
from benchmark.Datasets import Datasets
from flask_login import current_user
from flask import Blueprint, current_app, send_file
from flask import render_template, current_app, request, redirect, url_for
from flask_login import login_required
# import json
# import shutil
# import xlsxwriter
# from benchmark.ResultsFiles import Excel, ReportDatasets
# from benchmark.Datasets import Datasets
results = Blueprint("results", __name__, template_folder="templates")
@@ -43,5 +43,59 @@ def select(compare="False"):
@results.route("/datasets")
@login_required
def datasets(compare="False"):
return render_template("test.html")
def datasets():
os.chdir(current_user.benchmark.folder)
dt = Datasets()
datos = []
for dataset in dt:
datos.append(dt.get_attributes(dataset))
return render_template("datasets.html", datasets=datos)
@results.route("/best/<file_name>")
@login_required
def best(file_name):
os.chdir(current_user.benchmark.folder)
dt = Datasets()
datos = []
for dataset in dt:
datos.append(dt.get_attributes(dataset))
return render_template("datasets.html", datasets=datos)
@results.route("/report/<file_name>")
@login_required
def report(file_name):
os.chdir(current_user.benchmark.folder)
with open(os.path.join(Folders.results, file_name)) as f:
data = json.load(f)
try:
compare = current_app.config["COMPARE"]
summary = process_data(file_name, compare, data)
except Exception as e:
return render_template("error.html", message=str(e), compare=compare)
return render_template(
"report.html",
data=data,
file=file_name,
summary=summary,
framework=current_app.config["FRAMEWORK"],
back=back,
)
def process_data(file_name, compare, data):
report = StubReport(
os.path.join(Folders.results, file_name), compare=compare
)
new_list = []
for result in data["results"]:
symbol = report._compute_status(result["dataset"], result["score"])
result["symbol"] = symbol if symbol != " " else "&nbsp;"
new_list.append(result)
data["results"] = new_list
# Compute summary with explanation of symbols
summary = {}
for key, value in report._compare_totals.items():
summary[key] = (report._status_meaning(key), value)
return summary