mirror of https://gitlab.com/pamhyr/pamhyr2
LC, BC: Fix save for update db 0.1.0.
parent
d2e5eecf22
commit
19d9a29459
|
|
@ -35,14 +35,15 @@ logger = logging.getLogger()
|
||||||
class Data(SQLSubModel):
|
class Data(SQLSubModel):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def __init__(self, id: int = -1,
|
def __init__(self, data0, data1,
|
||||||
|
id: int = -1,
|
||||||
types=[float, float],
|
types=[float, float],
|
||||||
status=None):
|
status=None):
|
||||||
super(Data, self).__init__(id)
|
super(Data, self).__init__(id)
|
||||||
self._status = status
|
self._status = status
|
||||||
|
|
||||||
self._types = types
|
self._types = types
|
||||||
self._data = []
|
self._data = [data0, data1]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_create(cls, execute, ext=""):
|
def _db_create(cls, execute, ext=""):
|
||||||
|
|
@ -133,11 +134,11 @@ class Data(SQLSubModel):
|
||||||
data1 = bc._types[1](next(it))
|
data1 = bc._types[1](next(it))
|
||||||
|
|
||||||
nd = cls(
|
nd = cls(
|
||||||
|
data0, data1,
|
||||||
id=pid,
|
id=pid,
|
||||||
types=bc._types,
|
types=bc._types,
|
||||||
status=data['status']
|
status=data['status']
|
||||||
)
|
)
|
||||||
nd._data = [data0, data1]
|
|
||||||
|
|
||||||
new.append(nd)
|
new.append(nd)
|
||||||
|
|
||||||
|
|
@ -150,12 +151,11 @@ class Data(SQLSubModel):
|
||||||
data1 = self._db_format(str(self[1]))
|
data1 = self._db_format(str(self[1]))
|
||||||
bc = data["bc"]
|
bc = data["bc"]
|
||||||
|
|
||||||
sql = (
|
execute = (
|
||||||
"INSERT INTO " +
|
"INSERT INTO " +
|
||||||
"boundary_condition_data(pamhyr_id, ind, data0, data1, bc) " +
|
"boundary_condition_data(pamhyr_id, ind, data0, data1, bc) " +
|
||||||
f"VALUES ({pid}, {ind}, '{data0}', {data1}, {bc._pamhyr_id})"
|
f"VALUES ({pid}, {ind}, '{data0}', {data1}, {bc._pamhyr_id})"
|
||||||
)
|
)
|
||||||
execute(sql)
|
|
||||||
|
|
||||||
def __getitem__(self, key):
|
def __getitem__(self, key):
|
||||||
return self._types[key](self._data[key])
|
return self._types[key](self._data[key])
|
||||||
|
|
@ -309,6 +309,7 @@ class BoundaryCondition(SQLSubModel):
|
||||||
|
|
||||||
ind = 0
|
ind = 0
|
||||||
for d in self._data:
|
for d in self._data:
|
||||||
|
print(d)
|
||||||
data["ind"] = ind
|
data["ind"] = ind
|
||||||
|
|
||||||
d._db_save(execute, data)
|
d._db_save(execute, data)
|
||||||
|
|
@ -343,7 +344,7 @@ class BoundaryCondition(SQLSubModel):
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
if self._name == "":
|
if self._name == "":
|
||||||
return f"B{self.id + 1}"
|
return f"B #{self.pamhyr_id}"
|
||||||
|
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
|
|
@ -408,10 +409,10 @@ class BoundaryCondition(SQLSubModel):
|
||||||
new_0 = self._types[0](data[0].replace(",", "."))
|
new_0 = self._types[0](data[0].replace(",", "."))
|
||||||
new_1 = self._types[1](data[1].replace(",", "."))
|
new_1 = self._types[1](data[1].replace(",", "."))
|
||||||
|
|
||||||
return (new_0, new_1)
|
return Data(new_0, new_1)
|
||||||
|
|
||||||
def add(self, index: int):
|
def add(self, index: int):
|
||||||
value = (self._default_0, self._default_1)
|
value = Data(self._default_0, self._default_1)
|
||||||
self._data.insert(index, value)
|
self._data.insert(index, value)
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
return value
|
return value
|
||||||
|
|
@ -461,9 +462,9 @@ class BoundaryCondition(SQLSubModel):
|
||||||
return lst
|
return lst
|
||||||
|
|
||||||
def _set_i_c_v(self, index, column, value):
|
def _set_i_c_v(self, index, column, value):
|
||||||
v = list(self._data[index])
|
v = self._data[index]
|
||||||
v[column] = self._types[column](value)
|
v[column] = self._types[column](value)
|
||||||
self._data[index] = tuple(v)
|
self._data[index] = v
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
|
|
||||||
def set_i_0(self, index: int, value):
|
def set_i_0(self, index: int, value):
|
||||||
|
|
|
||||||
|
|
@ -35,14 +35,16 @@ logger = logging.getLogger()
|
||||||
class Data(SQLSubModel):
|
class Data(SQLSubModel):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def __init__(self, id: int = -1,
|
def __init__(self,
|
||||||
|
data0, data1,
|
||||||
|
id: int = -1,
|
||||||
types=[float, float],
|
types=[float, float],
|
||||||
status=None):
|
status=None):
|
||||||
super(Data, self).__init__(id)
|
super(Data, self).__init__(id)
|
||||||
self._status = status
|
self._status = status
|
||||||
|
|
||||||
self._types = types
|
self._types = types
|
||||||
self._data = []
|
self._data = [data0, data1]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_create(cls, execute, ext=""):
|
def _db_create(cls, execute, ext=""):
|
||||||
|
|
@ -171,7 +173,7 @@ class LateralContribution(SQLSubModel):
|
||||||
|
|
||||||
self._name = name
|
self._name = name
|
||||||
self._type = ""
|
self._type = ""
|
||||||
self._edge = None
|
self._reach = None
|
||||||
self._begin_rk = None
|
self._begin_rk = None
|
||||||
self._end_rk = None
|
self._end_rk = None
|
||||||
self._data = []
|
self._data = []
|
||||||
|
|
@ -333,7 +335,7 @@ class LateralContribution(SQLSubModel):
|
||||||
"reach, begin_section, end_section) " +
|
"reach, begin_section, end_section) " +
|
||||||
"VALUES (" +
|
"VALUES (" +
|
||||||
f"{self.id}, '{self._db_format(self._name)}', " +
|
f"{self.id}, '{self._db_format(self._name)}', " +
|
||||||
f"'{self._db_format(self._type)}', '{tab}', {edge}, " +
|
f"'{self._db_format(self._type)}', '{tab}', {reach}, " +
|
||||||
f"{self._begin_rk}, {self._end_rk}" +
|
f"{self._begin_rk}, {self._end_rk}" +
|
||||||
")"
|
")"
|
||||||
)
|
)
|
||||||
|
|
@ -380,7 +382,7 @@ class LateralContribution(SQLSubModel):
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
if self._name == "":
|
if self._name == "":
|
||||||
return f"L{self.id + 1}"
|
return f"LC #{self.id}"
|
||||||
|
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
|
|
@ -394,19 +396,19 @@ class LateralContribution(SQLSubModel):
|
||||||
return self._type
|
return self._type
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def edge(self):
|
def reach(self):
|
||||||
return self._edge
|
return self._reach
|
||||||
|
|
||||||
@edge.setter
|
@reach.setter
|
||||||
def edge(self, edge):
|
def reach(self, reach):
|
||||||
self._edge = edge
|
self._reach = reach
|
||||||
if edge is not None:
|
if reach is not None:
|
||||||
self._begin_rk = self._edge.reach.get_rk_min()
|
self._begin_rk = self._reach.reach.get_rk_min()
|
||||||
self._end_rk = self._edge.reach.get_rk_max()
|
self._end_rk = self._reach.reach.get_rk_max()
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
|
|
||||||
def has_edge(self):
|
def has_reach(self):
|
||||||
return self._edge is not None
|
return self._reach is not None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def begin_rk(self):
|
def begin_rk(self):
|
||||||
|
|
@ -414,11 +416,11 @@ class LateralContribution(SQLSubModel):
|
||||||
|
|
||||||
@begin_rk.setter
|
@begin_rk.setter
|
||||||
def begin_rk(self, begin_rk):
|
def begin_rk(self, begin_rk):
|
||||||
if self._edge is None:
|
if self._reach is None:
|
||||||
self._begin_rk = begin_rk
|
self._begin_rk = begin_rk
|
||||||
else:
|
else:
|
||||||
_min = self._edge.reach.get_rk_min()
|
_min = self._reach.reach.get_rk_min()
|
||||||
_max = self._edge.reach.get_rk_max()
|
_max = self._reach.reach.get_rk_max()
|
||||||
|
|
||||||
if _min <= begin_rk <= _max:
|
if _min <= begin_rk <= _max:
|
||||||
self._begin_rk = begin_rk
|
self._begin_rk = begin_rk
|
||||||
|
|
@ -431,11 +433,11 @@ class LateralContribution(SQLSubModel):
|
||||||
|
|
||||||
@end_rk.setter
|
@end_rk.setter
|
||||||
def end_rk(self, end_rk):
|
def end_rk(self, end_rk):
|
||||||
if self._edge is None:
|
if self._reach is None:
|
||||||
self._end_rk = end_rk
|
self._end_rk = end_rk
|
||||||
else:
|
else:
|
||||||
_min = self._edge.reach.get_rk_min()
|
_min = self._reach.reach.get_rk_min()
|
||||||
_max = self._edge.reach.get_rk_max()
|
_max = self._reach.reach.get_rk_max()
|
||||||
|
|
||||||
if _min <= end_rk <= _max:
|
if _min <= end_rk <= _max:
|
||||||
self._end_rk = end_rk
|
self._end_rk = end_rk
|
||||||
|
|
@ -482,10 +484,10 @@ class LateralContribution(SQLSubModel):
|
||||||
new_0 = self._types[0](data[0].replace(",", "."))
|
new_0 = self._types[0](data[0].replace(",", "."))
|
||||||
new_1 = self._types[1](data[1].replace(",", "."))
|
new_1 = self._types[1](data[1].replace(",", "."))
|
||||||
|
|
||||||
return (new_0, new_1)
|
return Data(new_0, new_1)
|
||||||
|
|
||||||
def add(self, index: int):
|
def add(self, index: int):
|
||||||
value = (self._default_0, self._default_1)
|
value = Data(self._default_0, self._default_1)
|
||||||
self._data.insert(index, value)
|
self._data.insert(index, value)
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
return value
|
return value
|
||||||
|
|
@ -532,9 +534,9 @@ class LateralContribution(SQLSubModel):
|
||||||
return lst
|
return lst
|
||||||
|
|
||||||
def _set_i_c_v(self, index, column, value):
|
def _set_i_c_v(self, index, column, value):
|
||||||
v = list(self._data[index])
|
v = self._data[index]
|
||||||
v[column] = self._types[column](value)
|
v[column] = self._types[column](value)
|
||||||
self._data[index] = tuple(v)
|
self._data[index] = v
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
|
|
||||||
def set_i_0(self, index: int, value):
|
def set_i_0(self, index: int, value):
|
||||||
|
|
@ -546,7 +548,7 @@ class LateralContribution(SQLSubModel):
|
||||||
@timer
|
@timer
|
||||||
def convert(self, cls):
|
def convert(self, cls):
|
||||||
new = cls(name=self.name, status=self._status)
|
new = cls(name=self.name, status=self._status)
|
||||||
new.edge = self.edge
|
new.reach = self.reach
|
||||||
new.begin_rk = self.begin_rk
|
new.begin_rk = self.begin_rk
|
||||||
new.end_rk = self.end_rk
|
new.end_rk = self.end_rk
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ class Layer(SQLSubModel):
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
if self._name == "":
|
if self._name == "":
|
||||||
return f"Layer{self.id + 1}"
|
return f"Layer #{self.pamhyr_id}"
|
||||||
|
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ class Stricklers(SQLSubModel):
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
if self._name == "":
|
if self._name == "":
|
||||||
return f"K{self.id + 1}"
|
return f"K #{self.pamhyr_id}"
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
@name.setter
|
@name.setter
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ class Mage(CommandLineSolver):
|
||||||
# Write header
|
# Write header
|
||||||
edges = study.river.enable_edges()
|
edges = study.river.enable_edges()
|
||||||
for edge in edges:
|
for edge in edges:
|
||||||
name = f"Reach_{edge.id + 1:>3}".replace(" ", "0")
|
name = f"Reach_{edge.pamhyr_id:>3}".replace(" ", "0")
|
||||||
|
|
||||||
with mage_file_open(
|
with mage_file_open(
|
||||||
os.path.join(repertory, "net", f"{name}.ST"),
|
os.path.join(repertory, "net", f"{name}.ST"),
|
||||||
|
|
@ -826,7 +826,7 @@ class Mage8(Mage):
|
||||||
edges = study.river.enable_edges()
|
edges = study.river.enable_edges()
|
||||||
|
|
||||||
for e in edges:
|
for e in edges:
|
||||||
name = f"Reach_{e.id + 1:>3}".replace(" ", "0")
|
name = f"Reach_{e.pamhyr_id:>3}".replace(" ", "0")
|
||||||
id = name
|
id = name
|
||||||
|
|
||||||
n1 = f"{e.node1.id:3}".replace(" ", "x")
|
n1 = f"{e.node1.id:3}".replace(" ", "x")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue