diff --git a/PyLoT.py b/PyLoT.py index ee02e5b4..8522a645 100755 --- a/PyLoT.py +++ b/PyLoT.py @@ -76,7 +76,7 @@ from pylot.core.util.utils import fnConstructor, getLogin, \ full_range, readFilterInformation, pick_color_plt, \ pick_linestyle_plt, identifyPhaseID, excludeQualityClasses, \ transform_colors_mpl, transform_colors_mpl_str, getAutoFilteroptions, check_all_obspy, \ - check_all_pylot, get_Bool, get_None + check_all_pylot, get_bool, get_None from pylot.core.util.gui import make_pen from pylot.core.util.event import Event from pylot.core.io.location import create_creation_info, create_event @@ -509,6 +509,8 @@ class MainWindow(QMainWindow): logAction = self.createAction(self, "&Show Log", self.showLogWidget, tip="""Display Log""") + logAction.setEnabled(use_logwidget) + # create button group for component selection componentGroup = QActionGroup(self) @@ -2271,7 +2273,7 @@ class MainWindow(QMainWindow): # wfst += self.get_data().getWFData().select(component=alter_comp) plotWidget = self.getPlotWidget() self.adjustPlotHeight() - if get_Bool(settings.value('large_dataset')) == True: + if get_bool(settings.value('large_dataset')): self.plot_method = 'fast' else: self.plot_method = 'normal' @@ -3712,7 +3714,7 @@ class MainWindow(QMainWindow): filename = fnm[0] + '.plp' self.project.parameter = self._inputs settings = QSettings() - autosaveXML = get_Bool(settings.value('autosaveXML', True)) + autosaveXML = get_bool(settings.value('autosaveXML', True)) if autosaveXML: self.exportEvents() if not self.project.save(filename): return False @@ -3736,7 +3738,7 @@ class MainWindow(QMainWindow): self.metadata.clear_inventory() self.project.parameter = self._inputs settings = QSettings() - autosaveXML = get_Bool(settings.value('autosaveXML', True)) + autosaveXML = get_bool(settings.value('autosaveXML', True)) if autosaveXML: self.exportEvents() if not self.project.save(): return False diff --git a/pylot.yml b/pylot.yml index 1b94c539..c0d83959 100644 --- a/pylot.yml +++ b/pylot.yml @@ -8,7 +8,7 @@ dependencies: - numpy=1.22.3 - obspy=1.3.0 - pyqtgraph=0.12.4 - - pyside2=5.13.2 + - pyside2>=5.13.2 - python=3.8.12 - - qt=5.12.9 + - qt>=5.12.9 - scipy=1.8.0 \ No newline at end of file diff --git a/pylot/core/pick/autopick.py b/pylot/core/pick/autopick.py index a888f95d..18358f64 100644 --- a/pylot/core/pick/autopick.py +++ b/pylot/core/pick/autopick.py @@ -22,7 +22,7 @@ from pylot.core.pick.picker import AICPicker, PragPicker from pylot.core.pick.utils import checksignallength, checkZ4S, earllatepicker, \ getSNR, fmpicker, checkPonsets, wadaticheck, get_quality_class from pylot.core.util.utils import getPatternLine, gen_Pool, \ - get_Bool, identifyPhaseID, get_None, correct_iplot + get_bool, identifyPhaseID, get_None, correct_iplot def autopickevent(data, param, iplot=0, fig_dict=None, fig_dict_wadatijack=None, ncores=0, metadata=None, origin=None): @@ -477,7 +477,7 @@ class AutopickStation(object): if self.pickparams["sstart"] < 0: self.pickparams["sstart"] = 0 - if get_Bool(self.pickparams["use_taup"]) is False: + if get_bool(self.pickparams["use_taup"]) is False: # correct user mistake where a relative cuttime is selected (pstart < 0) but use of taupy is disabled/ has # not the required parameters exit_taupy() @@ -525,7 +525,7 @@ class AutopickStation(object): :rtype: dict """ - if get_Bool(self.pickparams['use_taup']) is True and self.origin is not None: + if get_bool(self.pickparams['use_taup']) is True and self.origin is not None: try: # modify pstart, pstop, sstart, sstop to be around theoretical onset if taupy should be used, # else do nothing @@ -544,7 +544,7 @@ class AutopickStation(object): if self.horizontal_traces_exist(): if (self.p_results.weight is not None and self.p_results.weight < 4) or \ - get_Bool(self.pickparams.get('use_taup')): + get_bool(self.pickparams.get('use_taup')): try: self.pick_s_phase() except MissingTraceException as mte: @@ -1148,7 +1148,7 @@ class AutopickStation(object): ''.format(self.s_results.weight, self.s_results.snr, self.s_results.snrdb)) def pick_s_phase(self): - if get_Bool(self.pickparams.get('use_taup')) is True: + if get_bool(self.pickparams.get('use_taup')) is True: cuttimesh = (self.pickparams.get('sstart'), self.pickparams.get('sstop')) else: # determine time window for calculating CF after P onset diff --git a/pylot/core/pick/utils.py b/pylot/core/pick/utils.py index 467728f5..40cf0844 100644 --- a/pylot/core/pick/utils.py +++ b/pylot/core/pick/utils.py @@ -15,7 +15,7 @@ import numpy as np from obspy.core import Stream, UTCDateTime from scipy.signal import argrelmax -from pylot.core.util.utils import get_Bool, get_None, SetChannelComponents +from pylot.core.util.utils import get_bool, get_None, SetChannelComponents def earllatepicker(X, nfac, TSNR, Pick1, iplot=0, verbosity=1, fig=None, linecolor='k'): @@ -62,8 +62,8 @@ def earllatepicker(X, nfac, TSNR, Pick1, iplot=0, verbosity=1, fig=None, linecol plt_flag = 0 try: iplot = int(iplot) - except: - if get_Bool(iplot): + except ValueError: + if get_bool(iplot): iplot = 2 else: iplot = 0 @@ -816,7 +816,7 @@ def checksignallength(X, pick, minsiglength, pickparams, iplot=0, fig=None, line try: iplot = int(iplot) except: - if get_Bool(iplot): + if get_bool(iplot): iplot = 2 else: iplot = 0 @@ -1130,7 +1130,7 @@ def checkZ4S(X, pick, pickparams, iplot, fig=None, linecolor='k'): try: iplot = int(iplot) except: - if get_Bool(iplot): + if get_bool(iplot): iplot = 2 else: iplot = 0 @@ -1499,7 +1499,7 @@ def get_pickparams(pickparam): first_motion_params = dict(zip(first_motion_names, fm_parameter_values)) signal_length_params = dict(zip(signal_length_names, sl_parameter_values)) - p_params['use_taup'] = get_Bool(p_params['use_taup']) + p_params['use_taup'] = get_bool(p_params['use_taup']) return p_params, s_params, first_motion_params, signal_length_params diff --git a/pylot/core/util/utils.py b/pylot/core/util/utils.py index af5f0e0c..f7011c79 100644 --- a/pylot/core/util/utils.py +++ b/pylot/core/util/utils.py @@ -327,7 +327,7 @@ def get_None(value): return value -def get_Bool(value): +def get_bool(value): """ Convert string representations of bools to their true boolean value :param value: @@ -335,13 +335,14 @@ def get_Bool(value): :return: true boolean value :rtype: bool """ - if value in ['True', 'true']: + if type(value) is bool: + return value + elif value in ['True', 'true']: return True elif value in ['False', 'false']: return False else: - return value - + return bool(value) def four_digits(year): """ @@ -1168,7 +1169,7 @@ def correct_iplot(iplot): try: iplot = int(iplot) except ValueError: - if get_Bool(iplot): + if get_bool(iplot): iplot = 2 else: iplot = 0 diff --git a/pylot/core/util/widgets.py b/pylot/core/util/widgets.py index 595b233e..2d61a8d9 100644 --- a/pylot/core/util/widgets.py +++ b/pylot/core/util/widgets.py @@ -53,7 +53,7 @@ from pylot.core.util.utils import prepTimeAxis, full_range, demeanTrace, isSorte pick_linestyle_plt, pick_color_plt, \ check4rotated, check4doubled, merge_stream, identifyPhase, \ loopIdentifyPhase, trim_station_components, transformFilteroptions2String, \ - identifyPhaseID, get_Bool, get_None, pick_color, getAutoFilteroptions, SetChannelComponents, \ + identifyPhaseID, get_bool, get_None, pick_color, getAutoFilteroptions, SetChannelComponents, \ station_id_remove_channel from autoPyLoT import autoPyLoT from pylot.core.util.thread import Thread @@ -1876,7 +1876,7 @@ class PickDlg(QDialog): self.sChannels.triggered.connect(self.updateChannelSettingsS) settings = QSettings() - self.autoFilterAction.setChecked(get_Bool(settings.value('autoFilter'))) + self.autoFilterAction.setChecked(get_bool(settings.value('autoFilter'))) # create other widget elements phaseitems = [None] + list(FILTERDEFAULTS.keys()) @@ -2355,7 +2355,7 @@ class PickDlg(QDialog): settings = QSettings() phaseID = self.getPhaseID(phase) - if get_Bool(settings.value('useGuiFilter')) or gui_filter: + if get_bool(settings.value('useGuiFilter')) or gui_filter: filteroptions = self.filteroptions[phaseID] else: filteroptions = getAutoFilteroptions(phaseID, self.parameter) @@ -3025,7 +3025,7 @@ class PickDlg(QDialog): @staticmethod def getChannelSettingsP(channel): settings = QSettings() - rval = get_Bool(settings.value('p_channel_{}'.format(channel))) + rval = get_bool(settings.value('p_channel_{}'.format(channel))) compclass = SetChannelComponents.from_qsettings(settings) components = ['Z'] for component in components[:]: @@ -3040,7 +3040,7 @@ class PickDlg(QDialog): @staticmethod def getChannelSettingsS(channel): settings = QSettings() - rval = get_Bool(settings.value('s_channel_{}'.format(channel))) + rval = get_bool(settings.value('s_channel_{}'.format(channel))) compclass = SetChannelComponents.from_qsettings(settings) components = ['N', 'E'] for component in components[:]: @@ -5194,7 +5194,7 @@ class FilterOptionsDialog(QDialog): 'S': QtWidgets.QGroupBox('S Filter')} settings = QSettings() - overwriteFilter = get_Bool(settings.value('useGuiFilter')) + overwriteFilter = get_bool(settings.value('useGuiFilter')) self.overwriteFilterCheckbox = QCheckBox('Overwrite filteroptions') self.overwriteFilterCheckbox.setToolTip('Overwrite filter settings for refined pick with GUI settings')