mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
No commits in common. "6b14ed7efe2c7dd779ea0fe8191d2649390abdca" and "ec2a1da6b6c972f715f057eac13f65d7bc099a8f" have entirely different histories.
6b14ed7efe
...
ec2a1da6b6
|
|
@ -30,7 +30,6 @@ logger = logging.getLogger()
|
||||||
|
|
||||||
class Friction(SQLSubModel):
|
class Friction(SQLSubModel):
|
||||||
def __init__(self, id: int = -1,
|
def __init__(self, id: int = -1,
|
||||||
reach=None,
|
|
||||||
status=None,
|
status=None,
|
||||||
owner_scenario=-1):
|
owner_scenario=-1):
|
||||||
super(Friction, self).__init__(
|
super(Friction, self).__init__(
|
||||||
|
|
@ -38,7 +37,7 @@ class Friction(SQLSubModel):
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
|
|
||||||
self._reach = reach
|
self._reach = None
|
||||||
self._begin_rk = 0.0
|
self._begin_rk = 0.0
|
||||||
self._end_rk = 0.0
|
self._end_rk = 0.0
|
||||||
self._begin_strickler = None
|
self._begin_strickler = None
|
||||||
|
|
@ -65,7 +64,7 @@ class Friction(SQLSubModel):
|
||||||
)
|
)
|
||||||
""")
|
""")
|
||||||
|
|
||||||
if ext != "":
|
if ext == "_tmp":
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
@ -218,7 +217,7 @@ class Friction(SQLSubModel):
|
||||||
|
|
||||||
return (
|
return (
|
||||||
self._begin_strickler._owner_scenario == ssi
|
self._begin_strickler._owner_scenario == ssi
|
||||||
# or self._end_strickler._owner_scenario == ssi
|
or self._end_strickler._owner_scenario == ssi
|
||||||
or super(Friction, self).must_be_saved()
|
or super(Friction, self).must_be_saved()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,12 +86,19 @@ class FrictionList(PamhyrModelList):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def lst(self):
|
||||||
|
if not isinstance(self._lst, list):
|
||||||
|
self._lst = self._get_frictions_list()
|
||||||
|
|
||||||
|
return self._lst
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def frictions(self):
|
def frictions(self):
|
||||||
return self.lst
|
return self.lst
|
||||||
|
|
||||||
def new(self, reach, index):
|
def new(self, index):
|
||||||
n = Friction(reach=reach, status=self._status)
|
n = Friction(status=self._status)
|
||||||
self._lst.insert(index, n)
|
self._lst.insert(index, n)
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
return n
|
return n
|
||||||
|
|
|
||||||
|
|
@ -540,7 +540,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
"""
|
"""
|
||||||
x, y, z = (0., 0., 0.)
|
x, y, z = (0., 0., 0.)
|
||||||
|
|
||||||
if 0 < len(self._points) >= index:
|
if len(self._points) >= index:
|
||||||
x, y, z = self._points[index - 1].get_coordinate()
|
x, y, z = self._points[index - 1].get_coordinate()
|
||||||
|
|
||||||
point = PointXYZ(x=x, y=y, z=z, profile=self, status=self._status)
|
point = PointXYZ(x=x, y=y, z=z, profile=self, status=self._status)
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,9 @@ class Reach(SQLSubModel):
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
|
if not self.must_be_saved():
|
||||||
|
return True
|
||||||
|
|
||||||
ok = True
|
ok = True
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@ class HydraulicStructure(SQLSubModel):
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
if deleted:
|
if deleted:
|
||||||
hs.set_as_deleted()
|
new.set_as_deleted()
|
||||||
|
|
||||||
hs.enabled = enabled
|
hs.enabled = enabled
|
||||||
hs.input_reach, hs.output_reach = reduce(
|
hs.input_reach, hs.output_reach = reduce(
|
||||||
|
|
|
||||||
|
|
@ -28,15 +28,13 @@ class Data(SQLSubModel):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def __init__(self, id: int = -1,
|
def __init__(self, id: int = -1,
|
||||||
elevation: float = 0.,
|
|
||||||
surface: float = 0.,
|
|
||||||
status=None, owner_scenario=-1):
|
status=None, owner_scenario=-1):
|
||||||
super(Data, self).__init__(
|
super(Data, self).__init__(
|
||||||
id=id, status=status,
|
id=id, status=status,
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
|
|
||||||
self._data = [elevation, surface]
|
self._data = []
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_create(cls, execute, ext=""):
|
def _db_create(cls, execute, ext=""):
|
||||||
|
|
@ -337,12 +335,12 @@ class Reservoir(SQLSubModel):
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"DELETE FROM reservoir " +
|
"DELETE FROM reservoir " +
|
||||||
f"WHERE pamhyr_id = {self.pamhyr_id} " +
|
f"WHERE pamhyr_id = {self.pamhyr_id}" +
|
||||||
f"AND scenario = {self._status.scenario_id}"
|
f"AND scenario = {self._status.scenario_id}"
|
||||||
)
|
)
|
||||||
execute(
|
execute(
|
||||||
"DELETE FROM reservoir_data " +
|
"DELETE FROM reservoir_data " +
|
||||||
f"WHERE reservoir = {self.pamhyr_id} " +
|
f"WHERE reservoir = {self.pamhyr_id}" +
|
||||||
f"AND scenario = {self._status.scenario_id}"
|
f"AND scenario = {self._status.scenario_id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -430,23 +428,12 @@ class Reservoir(SQLSubModel):
|
||||||
return (new_0, new_1)
|
return (new_0, new_1)
|
||||||
|
|
||||||
def add(self, index: int):
|
def add(self, index: int):
|
||||||
data = Data(
|
value = (self._default_elevation, self._default_surface)
|
||||||
elevation = self._default_elevation,
|
self._data.insert(index, value)
|
||||||
surface = self._default_surface,
|
|
||||||
status = self._status,
|
|
||||||
)
|
|
||||||
|
|
||||||
self._data.insert(index, data)
|
|
||||||
self.modified()
|
self.modified()
|
||||||
return data
|
return value
|
||||||
|
|
||||||
def insert(self, index: int, value):
|
def insert(self, index: int, value):
|
||||||
if type(value) is tuple or type(value) is list:
|
|
||||||
value = Data(
|
|
||||||
elevation = value[0],
|
|
||||||
surface = value[1]
|
|
||||||
)
|
|
||||||
|
|
||||||
self._data.insert(index, value)
|
self._data.insert(index, value)
|
||||||
self.modified()
|
self.modified()
|
||||||
|
|
||||||
|
|
@ -495,11 +482,12 @@ class Reservoir(SQLSubModel):
|
||||||
lst = []
|
lst = []
|
||||||
for r in _range:
|
for r in _range:
|
||||||
lst.append(r)
|
lst.append(r)
|
||||||
|
|
||||||
return lst
|
return lst
|
||||||
|
|
||||||
def _set_i_c_v(self, index, column, value):
|
def _set_i_c_v(self, index, column, value):
|
||||||
self._data[index][column] = value
|
v = list(self._data[index])
|
||||||
|
v[column] = value
|
||||||
|
self._data[index] = tuple(v)
|
||||||
self.modified()
|
self.modified()
|
||||||
|
|
||||||
def set_i_elevation(self, index: int, value):
|
def set_i_elevation(self, index: int, value):
|
||||||
|
|
|
||||||
|
|
@ -137,9 +137,7 @@ class AddCommand(QUndoCommand):
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
if self._new is None:
|
if self._new is None:
|
||||||
self._new = self._frictions.new(
|
self._new = self._frictions.new(self._index)
|
||||||
self._reach, self._index
|
|
||||||
)
|
|
||||||
self._new.edge = self._reach
|
self._new.edge = self._reach
|
||||||
else:
|
else:
|
||||||
self._frictions.insert(self._index, self._new)
|
self._frictions.insert(self._index, self._new)
|
||||||
|
|
@ -184,7 +182,7 @@ class SortCommand(QUndoCommand):
|
||||||
def redo(self):
|
def redo(self):
|
||||||
self._frictions.sort(
|
self._frictions.sort(
|
||||||
reverse=self._reverse,
|
reverse=self._reverse,
|
||||||
key=lambda x: x._begin_rk
|
key=lambda x: x.name
|
||||||
)
|
)
|
||||||
if self._indexes is None:
|
if self._indexes is None:
|
||||||
self._indexes = list(
|
self._indexes = list(
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue