Loading ci/basop-pages/create_summary_page.py +16 −25 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ from typing import List from create_report_pages import SUBPAGE_TMPL_CSS, FORMATS title = { TITLE = { "MLD": "Maximum MLD across channels", "DIFF": "Maximim absolute difference across channels", "SSNR": "Minimum SSNR across channels", Loading @@ -26,8 +26,15 @@ def create_summary_page( id_current: int, job_name: str, measures: List[str], image_dir: str, ): images = histogram_summary(job_name, measures) images = "<hr>" for m in measures: images += ( f"<h2>{TITLE[m]}</h2>\n" + " ".join([f"<img src={image_dir}/summary_{m}_{x}.png>" for x in FORMATS]) + f'\n<br><a href="{image_dir}/summary_{m}.csv">summary_{m}.csv</a><hr>\n\n' ) new_summary_page = SUBPAGE_TMPL_CSS + SUMMARY_PAGE_TMPL_HTML.format( id_current=id_current, Loading @@ -38,41 +45,25 @@ def create_summary_page( f.write(new_summary_page) def histogram_summary( job_name: str, measures: List[str], ): images = "<hr>" for m in measures: images += ( f"<h2>{title[m]}</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") parser.add_argument("image_dir") parser.add_argument( "--measures", nargs="+", help=f"List of measures to include in summary. Allowed values: {' '.join(title.keys())}", help=f"List of measures to include in summary. Allowed values: {' '.join(TITLE.keys())}", default=["MLD", "DIFF", "SSNR", "ODG"], ) args = parser.parse_args() if not all([m in title for m in args.measures]): raise ValueError(f"Invalid list of measures: {args.measures}, expected one of {' '.join(title.keys())}") if not all([m in TITLE for m in args.measures]): raise ValueError( f"Invalid list of measures: {args.measures}, expected one of {' '.join(TITLE.keys())}" ) create_summary_page( args.html_out, args.id_current, args.job_name, args.measures, args.html_out, args.id_current, args.job_name, args.measures, args.image_dir ) Loading
ci/basop-pages/create_summary_page.py +16 −25 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ from typing import List from create_report_pages import SUBPAGE_TMPL_CSS, FORMATS title = { TITLE = { "MLD": "Maximum MLD across channels", "DIFF": "Maximim absolute difference across channels", "SSNR": "Minimum SSNR across channels", Loading @@ -26,8 +26,15 @@ def create_summary_page( id_current: int, job_name: str, measures: List[str], image_dir: str, ): images = histogram_summary(job_name, measures) images = "<hr>" for m in measures: images += ( f"<h2>{TITLE[m]}</h2>\n" + " ".join([f"<img src={image_dir}/summary_{m}_{x}.png>" for x in FORMATS]) + f'\n<br><a href="{image_dir}/summary_{m}.csv">summary_{m}.csv</a><hr>\n\n' ) new_summary_page = SUBPAGE_TMPL_CSS + SUMMARY_PAGE_TMPL_HTML.format( id_current=id_current, Loading @@ -38,41 +45,25 @@ def create_summary_page( f.write(new_summary_page) def histogram_summary( job_name: str, measures: List[str], ): images = "<hr>" for m in measures: images += ( f"<h2>{title[m]}</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") parser.add_argument("image_dir") parser.add_argument( "--measures", nargs="+", help=f"List of measures to include in summary. Allowed values: {' '.join(title.keys())}", help=f"List of measures to include in summary. Allowed values: {' '.join(TITLE.keys())}", default=["MLD", "DIFF", "SSNR", "ODG"], ) args = parser.parse_args() if not all([m in title for m in args.measures]): raise ValueError(f"Invalid list of measures: {args.measures}, expected one of {' '.join(title.keys())}") if not all([m in TITLE for m in args.measures]): raise ValueError( f"Invalid list of measures: {args.measures}, expected one of {' '.join(TITLE.keys())}" ) create_summary_page( args.html_out, args.id_current, args.job_name, args.measures, args.html_out, args.id_current, args.job_name, args.measures, args.image_dir )