mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
No commits in common. "f516db0e4819690c84a5a92533a8dfe06686c503" and "6c4f6e269c0b60764c66db90d46dd1ec1fabe21d" have entirely different histories.
f516db0e48
...
6c4f6e269c
|
|
@ -102,7 +102,7 @@ class OutputRKAdists(SQLSubModel):
|
||||||
cls._db_create(execute)
|
cls._db_create(execute)
|
||||||
created = True
|
created = True
|
||||||
|
|
||||||
if major == "0" and int(minor) < 2:
|
if major == "0" and int(minor) <= 2:
|
||||||
if not created:
|
if not created:
|
||||||
cls._db_update_to_0_2_0(execute, data)
|
cls._db_update_to_0_2_0(execute, data)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -116,16 +116,9 @@ class Results(SQLSubModel):
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update(cls, execute, version, data=None):
|
def _db_update(cls, execute, version, data=None):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
create = False
|
|
||||||
|
|
||||||
if major == "0" and int(minor) < 2:
|
if major == "0" and int(minor) <= 2:
|
||||||
cls._db_create(execute)
|
cls._db_create(execute)
|
||||||
create = True
|
|
||||||
|
|
||||||
if major == "0" and int(minor) == 2:
|
|
||||||
if int(release) < 1 and not create:
|
|
||||||
cls._db_create(execute)
|
|
||||||
create = True
|
|
||||||
|
|
||||||
return cls._update_submodel(execute, version, data)
|
return cls._update_submodel(execute, version, data)
|
||||||
|
|
||||||
|
|
@ -145,9 +138,6 @@ class Results(SQLSubModel):
|
||||||
f"WHERE scenario = {scenario.id}"
|
f"WHERE scenario = {scenario.id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
if table is None:
|
|
||||||
yield new
|
|
||||||
|
|
||||||
if len(table) > 1:
|
if len(table) > 1:
|
||||||
logger.warning("Multiple results for this scenario")
|
logger.warning("Multiple results for this scenario")
|
||||||
|
|
||||||
|
|
@ -179,7 +169,7 @@ class Results(SQLSubModel):
|
||||||
|
|
||||||
new = new_results
|
new = new_results
|
||||||
|
|
||||||
yield new
|
return new
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
if self._status.scenario.id != self._owner_scenario:
|
if self._status.scenario.id != self._owner_scenario:
|
||||||
|
|
|
||||||
|
|
@ -105,16 +105,9 @@ class Profile(SQLSubModel):
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_update(cls, execute, version, data=None):
|
def _db_update(cls, execute, version, data=None):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
create = False
|
|
||||||
|
|
||||||
if major == "0" and int(minor) < 2:
|
if major == "0" and int(minor) <= 2:
|
||||||
cls._db_create(execute)
|
cls._db_create(execute)
|
||||||
create = True
|
|
||||||
|
|
||||||
if major == "0" and int(minor) == 2:
|
|
||||||
if int(release) < 1 and not create:
|
|
||||||
cls._db_create(execute)
|
|
||||||
create = True
|
|
||||||
|
|
||||||
return cls._update_submodel(execute, version, data)
|
return cls._update_submodel(execute, version, data)
|
||||||
|
|
||||||
|
|
@ -162,9 +155,7 @@ class Profile(SQLSubModel):
|
||||||
elif key in ["sl"]:
|
elif key in ["sl"]:
|
||||||
sf = ">" + ''.join(itertools.repeat("f", len_data))
|
sf = ">" + ''.join(itertools.repeat("f", len_data))
|
||||||
values = struct.unpack(sf, data)
|
values = struct.unpack(sf, data)
|
||||||
values = cls._db_load_data_sl_format(
|
values = cls._db_load_data_sl_format(values, len_data, timestamps)
|
||||||
values, len_data, timestamps
|
|
||||||
)
|
|
||||||
|
|
||||||
for timestamp, value in zip(timestamps, values):
|
for timestamp, value in zip(timestamps, values):
|
||||||
new_data.set(timestamp, key, value)
|
new_data.set(timestamp, key, value)
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import types
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from tools import flatten, logger_exception
|
from tools import flatten, logger_exception
|
||||||
|
|
@ -618,8 +617,8 @@ class River(Graph):
|
||||||
objs.append(self._D90AdisTS)
|
objs.append(self._D90AdisTS)
|
||||||
objs.append(self._DIFAdisTS)
|
objs.append(self._DIFAdisTS)
|
||||||
|
|
||||||
if self.results is not None:
|
if self._results is not None:
|
||||||
objs.append(self.results)
|
objs.append(self._results)
|
||||||
|
|
||||||
self._save_submodel(execute, objs, data)
|
self._save_submodel(execute, objs, data)
|
||||||
return True
|
return True
|
||||||
|
|
@ -862,15 +861,3 @@ Last export at: @date."""
|
||||||
)
|
)
|
||||||
|
|
||||||
return has
|
return has
|
||||||
|
|
||||||
@property
|
|
||||||
def results(self):
|
|
||||||
results = self._results
|
|
||||||
if isinstance(results, types.GeneratorType):
|
|
||||||
self._results = next(results)
|
|
||||||
|
|
||||||
return self._results
|
|
||||||
|
|
||||||
@results.setter
|
|
||||||
def results(self, results):
|
|
||||||
self._results = results
|
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ class Scenario(SQLSubModel):
|
||||||
def _db_update(cls, execute, version, data=None):
|
def _db_update(cls, execute, version, data=None):
|
||||||
major, minor, release = version.strip().split(".")
|
major, minor, release = version.strip().split(".")
|
||||||
|
|
||||||
if major == "0" and int(minor) < 2:
|
if major == "0" and int(minor) <= 2:
|
||||||
cls._db_create(execute)
|
cls._db_create(execute)
|
||||||
cls._db_add_default(execute)
|
cls._db_add_default(execute)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ logger = logging.getLogger()
|
||||||
|
|
||||||
|
|
||||||
class Study(SQLModel):
|
class Study(SQLModel):
|
||||||
_version = "0.2.1"
|
_version = "0.2.0"
|
||||||
|
|
||||||
_sub_classes = [
|
_sub_classes = [
|
||||||
Scenario,
|
Scenario,
|
||||||
|
|
@ -275,7 +275,7 @@ class Study(SQLModel):
|
||||||
"INSERT INTO info VALUES ('study_release', '0')"
|
"INSERT INTO info VALUES ('study_release', '0')"
|
||||||
)
|
)
|
||||||
|
|
||||||
if major == "0" and int(minor) < 2:
|
if major == "0" and int(minor) <= 2:
|
||||||
self._add_into_info_if_not_exists('current_scenario', '0')
|
self._add_into_info_if_not_exists('current_scenario', '0')
|
||||||
|
|
||||||
if major == "0" and int(minor) < 2:
|
if major == "0" and int(minor) < 2:
|
||||||
|
|
@ -492,11 +492,9 @@ class Study(SQLModel):
|
||||||
|
|
||||||
# Reload river data
|
# Reload river data
|
||||||
river = River._db_load(
|
river = River._db_load(
|
||||||
sql_exec, data=data
|
sql_exec,
|
||||||
|
data=data
|
||||||
)
|
)
|
||||||
data["study"] = self
|
|
||||||
river._db_load_results(sql_exec, data=data)
|
|
||||||
|
|
||||||
self._river_scenario_cache[scenario] = river
|
self._river_scenario_cache[scenario] = river
|
||||||
self._river = river
|
self._river = river
|
||||||
|
|
||||||
|
|
@ -532,8 +530,8 @@ class Study(SQLModel):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def results(self):
|
def results(self):
|
||||||
return self._river.results
|
return self._river._results
|
||||||
|
|
||||||
@results.setter
|
@results.setter
|
||||||
def results(self, results):
|
def results(self, results):
|
||||||
self._river.results = results
|
self._river._results = results
|
||||||
|
|
|
||||||
|
|
@ -573,7 +573,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
|
|
||||||
def setup_results(self):
|
def setup_results(self):
|
||||||
self._last_solver = None
|
self._last_solver = None
|
||||||
self.last_results = None
|
self._last_results = None
|
||||||
|
|
||||||
default = None
|
default = None
|
||||||
|
|
||||||
|
|
@ -590,23 +590,10 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
# Last solver note found, use default-mage if exists
|
# Last solver note found, use default-mage if exists
|
||||||
self._last_solver = default
|
self._last_solver = default
|
||||||
|
|
||||||
@property
|
|
||||||
def last_results(self):
|
|
||||||
if self._study is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
return self._study.results
|
|
||||||
|
|
||||||
@last_results.setter
|
|
||||||
def last_results(self, results):
|
|
||||||
if self._study is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
self._study.results = results
|
|
||||||
|
|
||||||
def set_results(self, solver, results):
|
def set_results(self, solver, results):
|
||||||
self._last_solver = solver
|
self._last_solver = solver
|
||||||
self.last_results = results
|
self._last_results = results
|
||||||
|
self._study.results = results
|
||||||
|
|
||||||
self.enable_actions("action_menu_results_last", True)
|
self.enable_actions("action_menu_results_last", True)
|
||||||
|
|
||||||
|
|
@ -1492,9 +1479,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
# If no specific results, get last results
|
# If no specific results, get last results
|
||||||
if results is None:
|
if results is None:
|
||||||
def reading_fn():
|
def reading_fn():
|
||||||
self._tmp_results = self.last_results
|
self._tmp_results = self._last_results
|
||||||
|
|
||||||
if self.last_results is None:
|
if self._last_results is None:
|
||||||
def reading_fn():
|
def reading_fn():
|
||||||
self._tmp_results = solver.results(
|
self._tmp_results = solver.results(
|
||||||
self._study,
|
self._study,
|
||||||
|
|
@ -1556,9 +1543,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
# If no specific results, get last results
|
# If no specific results, get last results
|
||||||
if results is None:
|
if results is None:
|
||||||
def reading_fn():
|
def reading_fn():
|
||||||
self._tmp_results = self.last_results
|
self._tmp_results = self._last_results
|
||||||
|
|
||||||
if self.last_results is None:
|
if self._last_results is None:
|
||||||
def reading_fn():
|
def reading_fn():
|
||||||
self._tmp_results = solver.results(
|
self._tmp_results = solver.results(
|
||||||
self._study,
|
self._study,
|
||||||
|
|
@ -1621,12 +1608,15 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
if self._last_solver is None:
|
if self._last_solver is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if self._study is not None and self._study.results is not None:
|
||||||
|
self._last_results = self._study.results
|
||||||
|
|
||||||
if self._last_solver._type == "mage8":
|
if self._last_solver._type == "mage8":
|
||||||
self.open_solver_results(self._last_solver,
|
self.open_solver_results(self._last_solver,
|
||||||
self.last_results)
|
self._last_results)
|
||||||
elif self._last_solver._type == "adistswc":
|
elif self._last_solver._type == "adistswc":
|
||||||
self.open_solver_results_adists(self._last_solver,
|
self.open_solver_results_adists(self._last_solver,
|
||||||
self.last_results)
|
self._last_results)
|
||||||
|
|
||||||
def open_results_from_file(self):
|
def open_results_from_file(self):
|
||||||
if self._study is None:
|
if self._study is None:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue