MainWindow: Try fix backup saved for multi scenario.

scenarios
Pierre-Antoine 2025-09-04 10:52:26 +02:00
parent a3da09cf5b
commit 2a1c8c1e57
2 changed files with 4 additions and 16 deletions

View File

@ -126,15 +126,12 @@ class Study(SQLModel):
is_new = False is_new = False
fname = fname + "." + str(self._old_save_id) fname = fname + "." + str(self._old_save_id)
if os.path.exists(self.filename) and ".backup" not in self.filename: if os.path.exists(self.filename):
filename = os.path.join(fdir, "_PAMHYR_", "__old__", fname) filename = os.path.join(fdir, "_PAMHYR_", "__old__", fname)
logger.debug(f"Backup previous version copy: {filename}") logger.debug(f"Backup previous version copy: {filename}")
shutil.copy(self.filename, filename) shutil.copy(self.filename, filename)
self._old_save_id += 1 self._old_save_id += 1
if ".backup" in self.filename:
is_new = True
if not os.path.exists(self.filename): if not os.path.exists(self.filename):
is_new = True is_new = True

View File

@ -19,6 +19,7 @@
import os import os
import sys import sys
import time import time
import shutil
import logging import logging
import subprocess import subprocess
from queue import Queue from queue import Queue
@ -784,26 +785,16 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
self.conf.set_last_study(file_name) self.conf.set_last_study(file_name)
else: else:
file_name = self._study.filename + ".backup" file_name = self._study.filename + ".backup"
shutil.copyfile(old, file_name)
self._study.filename = file_name self._study.filename = file_name
try: try:
# sql_request_count = self._study.sql_save_request_count()
# progress = QProgressDialog(
# "Backup...", None,
# 0, sql_request_count,
# parent=self
# )
# progress.setWindowModality(Qt.WindowModal)
# progress.setValue(0)
status = f"Backup ({file_name})..." status = f"Backup ({file_name})..."
logger.info(status) logger.info(status)
self.statusbar.showMessage(status, 3000) self.statusbar.showMessage(status, 3000)
self._study.save( self._study.save()
# progress=lambda: progress.setValue(progress.value() + 1)
)
status += " Done" status += " Done"
logger.info(status) logger.info(status)