2022-03-08 09:27:40 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import sys
|
2022-03-25 10:04:02 +00:00
|
|
|
import pathlib
|
2024-01-03 12:30:04 +00:00
|
|
|
import os
|
2022-11-08 19:07:16 +00:00
|
|
|
sys.path.append(str(pathlib.Path(__file__).absolute().parent.parent / 'src'))
|
2022-03-25 10:04:53 +00:00
|
|
|
|
2022-04-16 18:41:26 +00:00
|
|
|
from nmreval.configs import check_for_config
|
|
|
|
|
|
|
|
# does a directory for config stuff exist? create it if not
|
|
|
|
check_for_config()
|
|
|
|
|
2022-03-08 09:27:40 +00:00
|
|
|
# pyqtgraph warns on Mac if QApplication is created when it is imported
|
2022-03-25 10:04:02 +00:00
|
|
|
# import pyqtgraph
|
2022-03-08 09:27:40 +00:00
|
|
|
|
|
|
|
from nmreval.lib.logger import handle_exception
|
|
|
|
sys.excepthook = handle_exception
|
|
|
|
|
2022-10-20 15:23:15 +00:00
|
|
|
from gui_qt import App
|
2024-01-03 12:30:04 +00:00
|
|
|
from gui_qt.Qt import QtCore
|
2022-03-08 09:27:40 +00:00
|
|
|
|
2024-01-03 12:30:04 +00:00
|
|
|
app = App(['NMReval'])
|
2023-01-05 14:27:33 +00:00
|
|
|
|
|
|
|
from gui_qt.main.mainwindow import NMRMainWindow
|
2024-01-03 12:30:04 +00:00
|
|
|
from gui_qt.lib.backup import BackupManager
|
|
|
|
|
|
|
|
|
|
|
|
def do_autosave():
|
|
|
|
# autosave and update timestamp in db
|
|
|
|
success = mplQt.autosave()
|
|
|
|
if success:
|
|
|
|
backuping.update_last_save()
|
|
|
|
|
|
|
|
# autosave stuff: keep track of instance and their backup files
|
|
|
|
backuping = BackupManager()
|
|
|
|
|
|
|
|
# look for autosaves in DB without running programs
|
|
|
|
files = backuping.search_unsaved()
|
|
|
|
|
|
|
|
# tell everyone what autosave files belongs to this process
|
|
|
|
pid = os.getpid()
|
|
|
|
bck_name = backuping.create_entry(pid)
|
|
|
|
mplQt = NMRMainWindow(bck_file=bck_name)
|
|
|
|
|
|
|
|
# one manual autosave to create the file
|
|
|
|
do_autosave()
|
|
|
|
|
|
|
|
# load all selected autosaves to program
|
|
|
|
for f in files:
|
|
|
|
mplQt.management.load_files(f)
|
|
|
|
f.unlink()
|
|
|
|
|
|
|
|
timer = QtCore.QTimer()
|
|
|
|
timer.timeout.connect(do_autosave)
|
|
|
|
timer.start(3 * 60 * 1000)
|
|
|
|
|
|
|
|
app.aboutToQuit.connect(backuping.close)
|
2022-03-08 09:27:40 +00:00
|
|
|
|
|
|
|
mplQt.show()
|
|
|
|
|
|
|
|
sys.exit(app.exec())
|