From 53de48903317e13cddd8678ad35230a353f47b23 Mon Sep 17 00:00:00 2001 From: kienle <kienle@passcal.nmt.edu> Date: Mon, 27 Mar 2023 15:11:33 -0600 Subject: [PATCH] Add RT130 experiment number to file info widget --- .../file_information/get_file_information.py | 20 +++++++++++-------- sohstationviewer/view/main_window.py | 3 +-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sohstationviewer/view/file_information/get_file_information.py b/sohstationviewer/view/file_information/get_file_information.py index 039967acb..fe613c87c 100644 --- a/sohstationviewer/view/file_information/get_file_information.py +++ b/sohstationviewer/view/file_information/get_file_information.py @@ -9,22 +9,20 @@ from sohstationviewer.model.reftek.reftek import RT130 from sohstationviewer.view.util.functions import extract_netcodes -def extract_data_set_info(tracking_box: QTextBrowser, - data_obj: Union[DataTypeModel, RT130, MSeed], - date_format: str - ) -> Dict[str, Union[str, List[str]]]: +def extract_data_set_info(data_obj: Union[DataTypeModel, RT130, MSeed], + date_format: str) -> Dict[str, Union[str, List[str]]]: """ Extract information about a data set. The extracted information includes: - Sources read - Start / end times - Station ID - DAS Serial Number + - Experiment number - Network Code - Tag number - GPS information - Software version - :param tracking_box: widget to display tracking info on :param data_obj: the data object to extract file information from :param date_format: the format by which to format file's start/end times :return: a dictionary containing the information of a file @@ -50,12 +48,18 @@ def extract_data_set_info(tracking_box: QTextBrowser, if data_type == 'RT130': das_serials = list({key[0] for key in data_obj.keys}) - data_set_info['DAS Serial Numbers'] = ','.join(das_serials) - if len(das_serials) > 1: + experiment_numbers = list({str(key[1]) for key in data_obj.keys}) + # The insertion order into data_set_info in this piece of code is + # important, so we had to write it in a way that is a bit repetitive. + data_set_info['DAS Serial Numbers'] = ', '.join(das_serials) + if len(data_obj.keys) > 1: data_set_info['Selected DAS'] = data_obj.selected_key[0] + data_set_info['Experiment Numbers'] = ', '.join(experiment_numbers) + if len(data_obj.keys) > 1: + data_set_info['Selected Experiment'] = data_obj.selected_key[1] else: stations = list(data_obj.sta_ids) - data_set_info['Station IDs'] = ','.join(stations) + data_set_info['Station IDs'] = ', '.join(stations) if len(stations) > 1: data_set_info['Selected Station'] = data_obj.selected_key data_set_info['Network Codes'] = extract_netcodes(data_obj) diff --git a/sohstationviewer/view/main_window.py b/sohstationviewer/view/main_window.py index 204d52026..0eee116ce 100755 --- a/sohstationviewer/view/main_window.py +++ b/sohstationviewer/view/main_window.py @@ -665,8 +665,7 @@ class MainWindow(QtWidgets.QMainWindow, UIMainWindow): log_message = ('Cannot get GPS data.', LogType.WARNING) self.processing_log.append(log_message) - data_set_info = extract_data_set_info(self.tracking_info_text_browser, - data_obj, self.date_format) + data_set_info = extract_data_set_info(data_obj, self.date_format) for info_name, info in data_set_info.items(): if isinstance(info, str): info_string = f'{info_name}:\n\t{info}' -- GitLab