From ccfb4e0682dd33fd0d8e96242f8ee02581a76b26 Mon Sep 17 00:00:00 2001 From: Yuanpeng Zhang Date: Mon, 30 Nov 2020 11:14:52 -0500 Subject: [PATCH] When the selected S(Q) file is, by mistake, not an ASCII file, we want ADDIE continue to run (but does nothing) instead of crashing. (#311) Co-authored-by: Zhang, Yuanpeng --- addie/addiedriver.py | 12 ++++++++---- addie/calculate_gr/event_handler.py | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/addie/addiedriver.py b/addie/addiedriver.py index 741a46fd..6dcff30b 100644 --- a/addie/addiedriver.py +++ b/addie/addiedriver.py @@ -431,10 +431,14 @@ def load_sq(self, file_name): InputWorkspace=sq_ws_name, OutputWorkspace=sq_ws_name) # TODO REMOVE THIS LINE elif ext == 'DAT' or ext == 'txt': - simpleapi.LoadAscii( - Filename=file_name, - OutputWorkspace=sq_ws_name, - Unit='MomentumTransfer') + try: + simpleapi.LoadAscii( + Filename=file_name, + OutputWorkspace=sq_ws_name, + Unit='MomentumTransfer') + except RuntimeError: + sq_ws_name, q_min, q_max = "InvalidInput", 0, 0 + return sq_ws_name, q_min, q_max # The S(Q) file is in fact S(Q)-1 in sq file. So need to add 1 to # the workspace out_ws = AnalysisDataService.retrieve(sq_ws_name) diff --git a/addie/calculate_gr/event_handler.py b/addie/calculate_gr/event_handler.py index 7068ae50..009b603d 100644 --- a/addie/calculate_gr/event_handler.py +++ b/addie/calculate_gr/event_handler.py @@ -84,6 +84,8 @@ def load_sq(main_window): sq_file_name = str(sq_file_name) sq_ws_name, q_min, q_max = main_window._myController.load_sq( sq_file_name) + if sq_ws_name == "InvalidInput" and q_min == 0 and q_max == 0: + return # add to color management color = main_window._pdfColorManager.add_sofq(sq_ws_name)