Commit 3ed10536 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Mage: Factorize file header.

Showing with 17 additions and 20 deletions
+17 -20
...@@ -7,6 +7,15 @@ from tools import timer ...@@ -7,6 +7,15 @@ from tools import timer
from Solver.ASolver import AbstractSolver from Solver.ASolver import AbstractSolver
from Checker.Mage import MageNetworkGraphChecker 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): class Mage(AbstractSolver):
_type = "mage" _type = "mage"
...@@ -92,9 +101,8 @@ class Mage(AbstractSolver): ...@@ -92,9 +101,8 @@ class Mage(AbstractSolver):
if edge._name == "": if edge._name == "":
name = f"Reach_{edge.id}" 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") files.append(f"{name}.ST")
f.write("* This file is generate by PAMHYR, please don't modify\n")
for profile in edge.reach.profiles: for profile in edge.reach.profiles:
num = f"{profile.num:>6}" num = f"{profile.num:>6}"
...@@ -128,11 +136,9 @@ class Mage(AbstractSolver): ...@@ -128,11 +136,9 @@ class Mage(AbstractSolver):
if qlog is not None: if qlog is not None:
qlog.put(f"Export {t} file") 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}") files.append(f"0.{t}")
f.write("* This file is generate by PAMHYR, please don't modify\n")
for bound in bounds: for bound in bounds:
name = f"{bound.node.id:3}".replace(" ", "x") name = f"{bound.node.id:3}".replace(" ", "x")
f.write(f"* {bound.node.name} ({name}) {bound.bctype}\n") f.write(f"* {bound.node.name} ({name}) {bound.bctype}\n")
...@@ -176,11 +182,9 @@ class Mage(AbstractSolver): ...@@ -176,11 +182,9 @@ class Mage(AbstractSolver):
# if qlog is not None: # if qlog is not None:
# qlog.put(f"Export LAT file") # 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") # 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") # name = f"{lateral.node.id:3}".replace(" ", "x")
# f.write(f"* {lateral.node.name} ({name}) {lateral.bctype}\n") # f.write(f"* {lateral.node.name} ({name}) {lateral.bctype}\n")
# f.write(f"${name}\n") # f.write(f"${name}\n")
...@@ -211,9 +215,8 @@ class Mage(AbstractSolver): ...@@ -211,9 +215,8 @@ class Mage(AbstractSolver):
qlog.put("Export RUG file") qlog.put("Export RUG file")
# Write header # 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") files.append("0.RUG")
f.write("* This file is generate by PAMHYR, please don't modify\n")
edges = study.river.edges() edges = study.river.edges()
edges = list( edges = list(
...@@ -253,7 +256,7 @@ class Mage(AbstractSolver): ...@@ -253,7 +256,7 @@ class Mage(AbstractSolver):
qlog.put("Export INI file") qlog.put("Export INI file")
# Write header # 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 has_ini = False
id = 1 id = 1
reachs = study.river.edges() reachs = study.river.edges()
...@@ -264,7 +267,6 @@ class Mage(AbstractSolver): ...@@ -264,7 +267,6 @@ class Mage(AbstractSolver):
) )
) )
f.write("* This file is generate by PAMHYR, please don't modify\n")
# TODO put real date... # TODO put real date...
f.write(f"$ date en minutes : 0.00\n") f.write(f"$ date en minutes : 0.00\n")
f.write(f"* IB IS discharge elevation kp\n") f.write(f"* IB IS discharge elevation kp\n")
...@@ -301,9 +303,8 @@ class Mage(AbstractSolver): ...@@ -301,9 +303,8 @@ class Mage(AbstractSolver):
qlog.put("Export REP file") qlog.put("Export REP file")
# Write header # 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("confirmation=non\n")
f.write("* This file is generate by PAMHYR, please don't modify\n")
for file in files: for file in files:
EXT = file.split('.')[1] EXT = file.split('.')[1]
...@@ -372,11 +373,9 @@ class Mage8(Mage): ...@@ -372,11 +373,9 @@ class Mage8(Mage):
if qlog is not None: if qlog is not None:
qlog.put("Export PAR file") 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") 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 params = study.river.get_params(self.type).parameters
for p in params: for p in params:
name = p.name\ name = p.name\
...@@ -396,11 +395,9 @@ class Mage8(Mage): ...@@ -396,11 +395,9 @@ class Mage8(Mage):
if qlog is not None: if qlog is not None:
qlog.put("Export NET file") 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") files.append("0.NET")
f.write("* This file is generate by PAMHYR, please don't modify\n")
edges = study.river.edges() edges = study.river.edges()
edges = list( edges = list(
filter( filter(
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment