Merge branch 'feature/metadata_clean_inventory' into develop
This commit is contained in:
commit
15882ed27e
7
PyLoT.py
7
PyLoT.py
@ -2039,10 +2039,11 @@ class MainWindow(QMainWindow):
|
||||
self.update_obspy_dmt()
|
||||
|
||||
def update_obspy_dmt(self):
|
||||
self.metadata.clear_inventory()
|
||||
if self.obspy_dmt:
|
||||
invpath = os.path.join(self.get_current_event_path(), 'resp')
|
||||
if not invpath in self.metadata.inventories:
|
||||
self.metadata.add_inventory(invpath)
|
||||
self.metadata.add_inventory(invpath, obspy_dmt_inv = True)
|
||||
# check if directory is empty
|
||||
if os.listdir(invpath):
|
||||
self.init_map_button.setEnabled(True)
|
||||
@ -3527,6 +3528,7 @@ class MainWindow(QMainWindow):
|
||||
'''
|
||||
Save back project to new pickle file.
|
||||
'''
|
||||
self.metadata.clear_inventory()
|
||||
dlg = QFileDialog(self)
|
||||
fnm = dlg.getSaveFileName(self, 'Create a new project file...', filter='Pylot project (*.plp)')
|
||||
filename = fnm[0]
|
||||
@ -3541,6 +3543,7 @@ class MainWindow(QMainWindow):
|
||||
self.saveProjectAsAction.setEnabled(True)
|
||||
self.update_status('Saved new project to {}'.format(filename), duration=5000)
|
||||
self.add2recentProjects(filename)
|
||||
self.update_obspy_dmt()
|
||||
return True
|
||||
|
||||
def saveProject(self, new=False):
|
||||
@ -3553,9 +3556,11 @@ class MainWindow(QMainWindow):
|
||||
self.setDirty(True)
|
||||
return False
|
||||
else:
|
||||
self.metadata.clear_inventory()
|
||||
self.project.parameter = self._inputs
|
||||
self.exportEvents()
|
||||
self.project.save()
|
||||
self.update_obspy_dmt()
|
||||
if not self.project.dirty:
|
||||
self.setDirty(False)
|
||||
self.update_status('Saved back project to file:\n{}'.format(self.project.location), duration=5000)
|
||||
|
@ -22,6 +22,8 @@ class Metadata(object):
|
||||
# seed id as key, path to file as value
|
||||
self.seed_ids = {}
|
||||
self.stations_dict = {}
|
||||
# saves which metadata files are from obspy dmt
|
||||
self.obspy_dmt_invs = []
|
||||
if inventory:
|
||||
if os.path.isdir(inventory):
|
||||
self.add_inventory(inventory)
|
||||
@ -44,7 +46,7 @@ class Metadata(object):
|
||||
def __repr__(self):
|
||||
return self.__str__()
|
||||
|
||||
def add_inventory(self, path_to_inventory):
|
||||
def add_inventory(self, path_to_inventory, obspy_dmt_inv = False):
|
||||
"""
|
||||
Add path to list of inventories.
|
||||
:param path_to_inventory: Path to a folder
|
||||
@ -54,6 +56,8 @@ class Metadata(object):
|
||||
assert (os.path.isdir(path_to_inventory)), '{} is no directory'.format(path_to_inventory)
|
||||
if path_to_inventory not in self.inventories:
|
||||
self.inventories.append(path_to_inventory)
|
||||
if obspy_dmt_inv == True:
|
||||
self.obspy_dmt_invs.append(path_to_inventory)
|
||||
|
||||
def add_inventory_file(self, path_to_inventory_file):
|
||||
"""
|
||||
@ -89,6 +93,11 @@ class Metadata(object):
|
||||
# this will be rebuilt for the next init of the arraymap anyway, so just reset it
|
||||
self.stations_dict = {}
|
||||
|
||||
def clear_inventory(self):
|
||||
for inv in self.obspy_dmt_invs:
|
||||
self.remove_inventory(inv)
|
||||
self.obspy_dmt_invs = []
|
||||
|
||||
def get_metadata(self, seed_id, time=None):
|
||||
"""
|
||||
Get metadata for seed id at time. When time is not specified, metadata for current time is fetched.
|
||||
|
@ -206,7 +206,7 @@ class AddMetadataWidget(QWidget):
|
||||
def init_add_remove_buttons(self):
|
||||
self.add_remove_layout = QVBoxLayout()
|
||||
self.add_button = self.init_button("Add", Qt.Key_Insert, "Choose a file to add \n(Ins)")
|
||||
self.remove_button = self.init_button("Remove", Qt.Key_Delete, "Remove selected file \n(Del)")
|
||||
self.remove_button = self.init_button("Remove", Qt.Key_Delete, "Remove selected file(s) \n(Del)")
|
||||
self.add_remove_layout.addWidget(self.add_button, 0, QtCore.Qt.AlignBottom)
|
||||
self.add_remove_layout.addWidget(self.remove_button, 0, QtCore.Qt.AlignTop)
|
||||
self.list_buttons_layout.insertLayout(1, self.add_remove_layout, 0)
|
||||
@ -252,6 +252,8 @@ class AddMetadataWidget(QWidget):
|
||||
for inventory_path in self.metadata.inventories:
|
||||
item = QtGui.QStandardItem(inventory_path)
|
||||
self.list_model.appendRow(item)
|
||||
if inventory_path in self.metadata.obspy_dmt_invs:
|
||||
item.setFlags(Qt.NoItemFlags)
|
||||
|
||||
def directory_to_lineedit(self):
|
||||
inventory_path = self.open_directory()
|
||||
|
Loading…
Reference in New Issue
Block a user