mirror of https://gitlab.com/pamhyr/pamhyr2
Mage: Factorize file header.
parent
956a0714a2
commit
3ed1053619
|
|
@ -7,6 +7,15 @@ from tools import timer
|
|||
from Solver.ASolver import AbstractSolver
|
||||
from Checker.Mage import MageNetworkGraphChecker
|
||||
|
||||
def mage_file_open(filepath, mode):
|
||||
f = open(filepath, mode)
|
||||
|
||||
if "w" in mode:
|
||||
# Write header
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
return f
|
||||
|
||||
class Mage(AbstractSolver):
|
||||
_type = "mage"
|
||||
|
||||
|
|
@ -92,9 +101,8 @@ class Mage(AbstractSolver):
|
|||
if edge._name == "":
|
||||
name = f"Reach_{edge.id}"
|
||||
|
||||
with open(os.path.join(repertory, f"{name}.ST"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, f"{name}.ST"), "w+") as f:
|
||||
files.append(f"{name}.ST")
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
for profile in edge.reach.profiles:
|
||||
num = f"{profile.num:>6}"
|
||||
|
|
@ -128,11 +136,9 @@ class Mage(AbstractSolver):
|
|||
if qlog is not None:
|
||||
qlog.put(f"Export {t} file")
|
||||
|
||||
with open(os.path.join(repertory, f"0.{t}"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, f"0.{t}"), "w+") as f:
|
||||
files.append(f"0.{t}")
|
||||
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
for bound in bounds:
|
||||
name = f"{bound.node.id:3}".replace(" ", "x")
|
||||
f.write(f"* {bound.node.name} ({name}) {bound.bctype}\n")
|
||||
|
|
@ -176,11 +182,9 @@ class Mage(AbstractSolver):
|
|||
# if qlog is not None:
|
||||
# qlog.put(f"Export LAT file")
|
||||
|
||||
# with open(os.path.join(repertory, f"0.LAT"), "w+") as f:
|
||||
# with mage_file_open(os.path.join(repertory, f"0.LAT"), "w+") as f:
|
||||
# files.append(f"0.LAT")
|
||||
|
||||
# f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
# name = f"{lateral.node.id:3}".replace(" ", "x")
|
||||
# f.write(f"* {lateral.node.name} ({name}) {lateral.bctype}\n")
|
||||
# f.write(f"${name}\n")
|
||||
|
|
@ -211,9 +215,8 @@ class Mage(AbstractSolver):
|
|||
qlog.put("Export RUG file")
|
||||
|
||||
# Write header
|
||||
with open(os.path.join(repertory, "0.RUG"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, "0.RUG"), "w+") as f:
|
||||
files.append("0.RUG")
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
edges = study.river.edges()
|
||||
edges = list(
|
||||
|
|
@ -253,7 +256,7 @@ class Mage(AbstractSolver):
|
|||
qlog.put("Export INI file")
|
||||
|
||||
# Write header
|
||||
with open(os.path.join(repertory, "0.INI"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, "0.INI"), "w+") as f:
|
||||
has_ini = False
|
||||
id = 1
|
||||
reachs = study.river.edges()
|
||||
|
|
@ -264,7 +267,6 @@ class Mage(AbstractSolver):
|
|||
)
|
||||
)
|
||||
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
# TODO put real date...
|
||||
f.write(f"$ date en minutes : 0.00\n")
|
||||
f.write(f"* IB IS discharge elevation kp\n")
|
||||
|
|
@ -301,9 +303,8 @@ class Mage(AbstractSolver):
|
|||
qlog.put("Export REP file")
|
||||
|
||||
# Write header
|
||||
with open(os.path.join(repertory, f"0.REP"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, f"0.REP"), "w+") as f:
|
||||
f.write("confirmation=non\n")
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
for file in files:
|
||||
EXT = file.split('.')[1]
|
||||
|
|
@ -372,11 +373,9 @@ class Mage8(Mage):
|
|||
if qlog is not None:
|
||||
qlog.put("Export PAR file")
|
||||
|
||||
with open(os.path.join(repertory, "0.PAR"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, "0.PAR"), "w+") as f:
|
||||
files.append("0.PAR")
|
||||
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
params = study.river.get_params(self.type).parameters
|
||||
for p in params:
|
||||
name = p.name\
|
||||
|
|
@ -396,11 +395,9 @@ class Mage8(Mage):
|
|||
if qlog is not None:
|
||||
qlog.put("Export NET file")
|
||||
|
||||
with open(os.path.join(repertory, "0.NET"), "w+") as f:
|
||||
with mage_file_open(os.path.join(repertory, "0.NET"), "w+") as f:
|
||||
files.append("0.NET")
|
||||
|
||||
f.write("* This file is generate by PAMHYR, please don't modify\n")
|
||||
|
||||
edges = study.river.edges()
|
||||
edges = list(
|
||||
filter(
|
||||
|
|
|
|||
Loading…
Reference in New Issue