pamhyr: Add periodic backup.

This commit is contained in:
Pierre-Antoine Rouby committed 2024-03-22 09:51:53 +01:00
1 parent 632cd2cd4c
commit 7f3cf46ee1
5 files changed
+131 -71

No files matched your search

+17 -3
View File
@@ -104,9 +104,13 @@ class Study(SQLModel):
logger.error(e)
fname = fname + "." + str(self._old_save_id)
filename = os.path.join(fdir, "_PAMHYR_", "__old__", fname)
shutil.copy(self.filename, filename)
self._old_save_id += 1
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)
# Save
self.last_save_date = datetime.now()
@@ -128,6 +132,16 @@ class Study(SQLModel):
@filename.setter
def filename(self, filename):
if filename is None:
self._filename = None
self.status.modified()
return
if self._filename is not None and self._filename != "":
self._filename = str(filename)
self.status.modified()
return
self._filename = str(filename)
self._init_db_file(filename, is_new=True)
self.status.modified()