diff --git a/src/geomtools/sfx/report.py b/src/geomtools/sfx/report.py index b6ee4c2a1151017db4457d1e55e4e782e71b587f..83dc6aa947a8abbe70c2775726d746f4ba539acc 100644 --- a/src/geomtools/sfx/report.py +++ b/src/geomtools/sfx/report.py @@ -1,21 +1,18 @@ import argparse +import pathlib + import importlib_resources import nbformat import papermill as pm -import pathlib import yaml - -from traitlets.config import Config -from nbconvert import PDFExporter from extra_data import open_run +from geomtools.motor import (AGIPD1M_DATA_SELECTOR, AGIPD1M_MOTORS, + get_physical_names, read_motor_positions) +from nbconvert import PDFExporter +from traitlets.config import Config -from .xwizio import parse_xwiz_summary from .crystfelio import extract_geometry -from geomtools.motor import ( - read_motor_positions, AGIPD1M_MOTORS, AGIPD1M_DATA_SELECTOR, - get_physical_names, -) - +from .xwizio import parse_xwiz_summary REPO = pathlib.Path("/gpfs/exfel/data/scratch/spb_geom") DET = { @@ -25,7 +22,7 @@ DET = { } -def make_report(notebook_filename, parameters): +def make_report(notebook_filename, parameters, clean=True): report_ref = importlib_resources.files("geomtools.sfx") / "report.ipynb" with importlib_resources.as_file(report_ref) as report_path: pm.execute_notebook( @@ -43,7 +40,8 @@ def make_report(notebook_filename, parameters): (body, resources) = pdf_exporter.from_notebook_node(notebook) notebook_filename.with_suffix(".pdf").write_bytes(body) - notebook_filename.unlink() + if clean: + notebook_filename.unlink() def push_geometry(): @@ -57,6 +55,7 @@ def push_geometry(): help="Crystfel stream file") parser.add_argument('-c', '--connected', default="modules") parser.add_argument('-r', '--report-only', action="store_true") + parser.add_argument('--keep-tmp-files', action="store_true", default=False) parser.add_argument('detector', choices=DET.keys()) parser.add_argument('tag') parser.add_argument('sample') @@ -171,11 +170,13 @@ def push_geometry(): prefix=prefix, output_dir=str(output_dir.absolute()), ) - make_report(notebook_filename, report_parameters) + make_report(notebook_filename, report_parameters, + clean=not args.keep_tmp_files) if args.report_only: - print("Clean up files...") - geom_file.unlink() + if not args.keep_tmp_files: + print("Clean up files...") + geom_file.unlink() if __name__ == "__main__":