diff --git a/gwhat/projet/manager_data.py b/gwhat/projet/manager_data.py index b655fefe..6402c3ee 100644 --- a/gwhat/projet/manager_data.py +++ b/gwhat/projet/manager_data.py @@ -818,20 +818,7 @@ def accept_dataset(self): del_dset(self.name) # Update dataset attributes from UI and emit dataset. - if self._datatype == 'water level': - self._dataset['Well'] = self.station_name - self._dataset['Well ID'] = self.station_id - self._dataset['Province'] = self.province - self._dataset['Latitude'] = self.latitude - self._dataset['Longitude'] = self.longitude - self._dataset['Elevation'] = self.altitude - elif self._datatype == 'daily weather': - self._dataset.metadata['Station Name'] = self.station_name - self._dataset.metadata['Station ID'] = self.station_id - self._dataset.metadata['Location'] = self.province - self._dataset.metadata['Latitude'] = self.latitude - self._dataset.metadata['Longitude'] = self.longitude - self._dataset.metadata['Elevation'] = self.altitude + self._update_attributes_from_ui() self.sig_new_dataset_imported.emit(self.name, self._dataset) if len(self._queued_filenames): @@ -848,6 +835,22 @@ def close(self): self.directory.clear() self.update_gui() + def _update_attributes_from_ui(self): + if self._datatype == 'water level': + self._dataset['Well'] = self.station_name + self._dataset['Well ID'] = self.station_id + self._dataset['Province'] = self.province + self._dataset['Latitude'] = self.latitude + self._dataset['Longitude'] = self.longitude + self._dataset['Elevation'] = self.altitude + elif self._datatype == 'daily weather': + self._dataset.metadata['Station Name'] = self.station_name + self._dataset.metadata['Station ID'] = self.station_id + self._dataset.metadata['Location'] = self.province + self._dataset.metadata['Latitude'] = self.latitude + self._dataset.metadata['Longitude'] = self.longitude + self._dataset.metadata['Elevation'] = self.altitude + if __name__ == '__main__': import sys diff --git a/gwhat/projet/reader_waterlvl.py b/gwhat/projet/reader_waterlvl.py index d563748b..bf4d8920 100644 --- a/gwhat/projet/reader_waterlvl.py +++ b/gwhat/projet/reader_waterlvl.py @@ -303,10 +303,10 @@ def __len__(self): return len(self._dataf) def __setitem__(self, key, value): - return NotImplementedError + raise NotImplementedError def __iter__(self): - return NotImplementedError + raise NotImplementedError # ---- Attributes @property @@ -405,6 +405,9 @@ def __getitem__(self, key): return self.dset.__getitem__(key) + def __setitem__(self, key, value): + self._dataf.attrs[key] = value + def __load_dataset__(self, filename): """Loads the dataset from a file and saves it in the store.""" self._dataf = read_water_level_datafile(filename)