Mage: Factorize file header.

results
Pierre-Antoine Rouby 2023-07-17 11:16:09 +02:00
parent 956a0714a2
commit 3ed1053619
1 changed files with 17 additions and 20 deletions

View File

@ -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(