Commit 9f4c783c authored by norvell's avatar norvell
Browse files

Merge branch 'ci/add-summary-page' into 'main'

[BASOP CI] Summary page and separate image folders

See merge request !1675
parents bb9c6749 5de16631
Loading
Loading
Loading
Loading
Loading
+9 −40
Original line number Diff line number Diff line
@@ -35,14 +35,11 @@ Comparing:
    <li><a href="{job_name}--merged_csv--{id_current}.csv">Merged csv data</a></li>
</ul>

{images_mld}

{images_diff}

{images_ssnr}


<br>
<h2><a href="summary_{job_name}.html">Summary page</a></h2>
<br>
<br>

<b>How is the table sorted?</b>
<ul>
    <li>Cases with result ERROR or invalid/missing values for the numerical measures are given first</li>
@@ -122,7 +119,6 @@ def create_subpage(
    id_current: int,
    id_previous: int,
    job_name: str,
    histogram,
):
    merged_reports = merge_and_cleanup_mld_reports(
        csv_current, csv_previous, id_current, id_previous
@@ -145,32 +141,6 @@ def create_subpage(
    table_body = "\n".join(
        tr_from_row(row, id_current, id_previous) for row in merged_reports
    )
    if histogram:
        images_mld = (
            f"<h2>MLD summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images/summary_{id_current}_MLD_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images/summary_{id_current}_MLD.csv">summary_{id_current}_MLD.csv</a>'
        )
        images_ssnr = (
            f"<h2>MIN_SSNR summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images/summary_{id_current}_SSNR_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images/summary_{id_current}_SSNR.csv">summary_{id_current}_SSNR.csv</a>'
        )
        images_diff = (
            f"<h2>MAX ABS DIFFERENCE summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images/summary_{id_current}_DIFF_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images/summary_{id_current}_DIFF.csv">summary_{id_current}_DIFF.csv</a>'
        )
    else:
        images_mld = ""
        images_ssnr = ""
        images_diff = ""

    new_subpage = SUBPAGE_TMPL_CSS + SUBPAGE_TMPL_HTML.format(
        id_current=id_current,
@@ -179,9 +149,6 @@ def create_subpage(
        job_name=job_name,
        table_header_a=table_header_a,
        table_header_b=table_header_b,
        images_mld=images_mld,
        images_ssnr=images_ssnr,
        images_diff=images_diff,
    )
    with open(html_out, "w") as f:
        f.write(new_subpage)
@@ -324,7 +291,10 @@ def merge_tables(tbl1, tbl2, suffix1, suffix2, merge_key, other_keys):
            if row1[merge_key] == row2[merge_key]:
                new_row[merge_key] = row1[merge_key]
                for key in other_keys:
                    if key in row2: # In case key is missing, just insert a blank
                        new_row[f"{key}-{suffix2}"] = row2[key]
                    else:
                        new_row[f"{key}-{suffix2}"] = ""
                break

        merged.append(new_row)
@@ -332,6 +302,7 @@ def merge_tables(tbl1, tbl2, suffix1, suffix2, merge_key, other_keys):
    return merged



if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("html_out")
@@ -341,7 +312,6 @@ if __name__ == "__main__":
    parser.add_argument("id_current", type=int)
    parser.add_argument("id_previous", type=int)
    parser.add_argument("job_name")
    parser.add_argument("--histogram", action="store_true")
    args = parser.parse_args()

    create_subpage(
@@ -352,5 +322,4 @@ if __name__ == "__main__":
        args.id_current,
        args.id_previous,
        args.job_name,
        args.histogram,
    )
+55 −0
Original line number Diff line number Diff line
import argparse

from create_report_pages import SUBPAGE_TMPL_CSS, FORMATS

MEASURES = ["MLD","DIFF","SSNR"]

SUMMARY_PAGE_TMPL_HTML = """

<h1>Summary for job {job_name}, ID: {id_current}</h1>

{images}

"""

def create_summary_page(
    html_out,
    id_current: int,
    job_name: str,
):
    images = histogram_summary(job_name)

    new_summary_page = SUBPAGE_TMPL_CSS + SUMMARY_PAGE_TMPL_HTML.format(
        id_current=id_current,
        job_name=job_name,
        images=images,
    )
    with open(html_out, "w") as f:
        f.write(new_summary_page)

def histogram_summary(
    job_name:str,
    ):
    images = "<hr>"
    for m in MEASURES:
        images += (
            f"<h2>{m} summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images_{job_name}/summary_{m}_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images_{job_name}/summary_{m}.csv">summary_{m}.csv</a><hr>\n\n'
        )
    return images

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("html_out")
    parser.add_argument("id_current", type=int)
    parser.add_argument("job_name")
    args = parser.parse_args()

    create_summary_page(
        args.html_out,
        args.id_current,
        args.job_name,
    )