1
0
forked from IPKM/nmreval
nmreval/bin/evaluate.py

62 lines
1.4 KiB
Python
Raw Permalink Normal View History

2022-03-08 09:27:40 +00:00
#!/usr/bin/env python3
import sys
2022-03-25 10:04:02 +00:00
import pathlib
import os
sys.path.append(str(pathlib.Path(__file__).absolute().parent.parent / 'src'))
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
from gui_qt.Qt import QtCore
2022-03-08 09:27:40 +00:00
app = App(['NMReval'])
from gui_qt.main.mainwindow import NMRMainWindow
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())