pamhyr: Fix save after backup and minor change.

setup.py
Pierre-Antoine Rouby 2024-03-26 08:36:45 +01:00
parent 48e30125bb
commit 1ff895368e
3 changed files with 22 additions and 6 deletions

View File

@ -103,15 +103,16 @@ class Study(SQLModel):
except Exception as e:
logger.error(e)
is_new = False
fname = fname + "." + str(self._old_save_id)
if os.path.exists(self.filename) and ".backup" not in self.filename:
filename = os.path.join(fdir, "_PAMHYR_", "__old__", fname)
logger.debug(f"Backup previous version copy: {filename}")
shutil.copy(self.filename, filename)
self._old_save_id += 1
else:
self._init_db_file(self.filename, is_new=True)
is_new = True
self._init_db_file(self.filename, is_new=is_new)
self.commit()
# Save

View File

@ -131,13 +131,15 @@ class CommandLineSolver(AbstractSolver):
if qlog is not None:
qlog.put("Export additional files")
files = study.river.additional_files.files
for add_file in files:
add_files = study.river.additional_files.files
for add_file in add_files:
self.export_additional_file(
add_file, repertory, files
study, add_file, repertory, files
)
def export_additional_file(self, add_file, repertory, files):
return files
def export_additional_file(self, study, add_file, repertory, files):
if add_file.path == "" or not add_file.is_enabled():
return files
@ -158,6 +160,17 @@ class CommandLineSolver(AbstractSolver):
return files
def export_study_description(self, study, repertory, qlog, name="0"):
files = []
path = os.path.join(
repertory, "pamhyr-study-description.txt"
)
with open(path, "w+") as f:
txt = study.description
f.write(txt)
#######
# Run #
#######

View File

@ -672,6 +672,7 @@ class Mage(CommandLineSolver):
self._export_ST(study, repertory, qlog, name=name)
self.export_additional_files(study, repertory, qlog, name=name)
self.export_study_description(study, repertory, qlog, name=name)
return True
@ -891,6 +892,7 @@ class Mage8(Mage):
study, repertory, qlog, name=name
)
self.export_study_description(study, repertory, qlog, name=name)
self._export_REP(study, repertory, files, qlog, name=name)
return True