From 78e085a82705b64527a24e1e21e619d088c11fbc Mon Sep 17 00:00:00 2001 From: Thomas Kluyver <thomas@kluyver.me.uk> Date: Wed, 3 Mar 2021 15:04:50 +0000 Subject: [PATCH] More defensive coding around identifying PDF report path --- webservice/webservice.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/webservice/webservice.py b/webservice/webservice.py index 0c6775478..0d1696e53 100644 --- a/webservice/webservice.py +++ b/webservice/webservice.py @@ -12,7 +12,7 @@ import urllib.parse from asyncio import get_event_loop, shield from datetime import datetime from pathlib import Path -from typing import Any, Dict, List +from typing import Any, Dict, List, Optional import yaml import zmq @@ -1070,8 +1070,11 @@ class ActionsServer: request_time ) await update_mdc_status(self.mdc, 'dark_request', rid, ret) - await update_darks_paths(self.mdc, rid, in_folder, - out_folder, report_path) + if report_path is None: + logging.warning("Failed to identify report path for dark_request") + else: + await update_darks_paths(self.mdc, rid, in_folder, + out_folder, report_path) # END of part to run after sending reply asyncio.ensure_future(_continue()) @@ -1142,7 +1145,7 @@ class ActionsServer: async def launch_jobs( self, run_nrs, rid, detectors, action, instrument, cycle, proposal, request_time - ) -> (str, str): + ) -> (str, Optional[str]): # run xfel_calibrate for karabo_id, dconfig in detectors.items(): detector = dconfig['detector-type'] @@ -1163,8 +1166,11 @@ class ActionsServer: ret = await run_action(self.job_db, cmd, self.mode, proposal, run_nrs[-1], rid) - report_idx = cmd.index('--report-to') + 1 - report = cmd[report_idx] + '.pdf' + if '--report-to' in cmd[:-1]: + report_idx = cmd.index('--report-to') + 1 + report = cmd[report_idx] + '.pdf' + else: + report = None return ret, report parser = argparse.ArgumentParser( -- GitLab