mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
2 Commits
6dfa876809
...
3a78d6d6f7
| Author | SHA1 | Date |
|---|---|---|
|
|
3a78d6d6f7 | |
|
|
bbf85a6048 |
|
|
@ -37,6 +37,8 @@ logger = logging.getLogger()
|
|||
|
||||
|
||||
class Study(SQLModel):
|
||||
_version = "0.2.0"
|
||||
|
||||
_sub_classes = [
|
||||
Scenario,
|
||||
River,
|
||||
|
|
@ -44,7 +46,6 @@ class Study(SQLModel):
|
|||
|
||||
def __init__(self, filename=None, init_new=True):
|
||||
# Metadata
|
||||
self._version = "0.2.0"
|
||||
self.creation_date = datetime.now()
|
||||
self.last_modification_date = datetime.now()
|
||||
self.last_save_date = datetime.now()
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ class TableModel(PamhyrTableModel):
|
|||
)
|
||||
|
||||
self.endRemoveRows()
|
||||
self.update()
|
||||
|
||||
def sort(self, _reverse, parent=QModelIndex()):
|
||||
self.layoutAboutToBeChanged.emit()
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ from platformdirs import user_cache_dir
|
|||
|
||||
from Solver.AdisTS import AdisTS
|
||||
from Solver.Mage import Mage8
|
||||
from tools import logger_exception
|
||||
from tools import logger_exception, pamhyr_db_need_update
|
||||
|
||||
from PyQt5 import QtGui
|
||||
from PyQt5.QtGui import (
|
||||
|
|
@ -1087,10 +1087,13 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
|||
dialog.setDirectory(os.path.dirname(self.conf.last_study))
|
||||
|
||||
if dialog.exec_():
|
||||
file_name = dialog.selectedFiles()
|
||||
file_name = dialog.selectedFiles()[0]
|
||||
|
||||
if pamhyr_db_need_update(file_name, Study._version):
|
||||
shutil.copyfile(file_name, file_name + ".old")
|
||||
|
||||
def fn():
|
||||
self._tmp_study = Study.open(file_name[0])
|
||||
self._tmp_study = Study.open(file_name)
|
||||
|
||||
dlg = WaitingDialog(
|
||||
payload_fn=fn,
|
||||
|
|
|
|||
20
src/tools.py
20
src/tools.py
|
|
@ -19,6 +19,7 @@
|
|||
import os
|
||||
import time
|
||||
import logging
|
||||
import sqlite3
|
||||
import traceback
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
|
|
@ -456,3 +457,22 @@ def _parse_word_up_to_next_sep(words, sep=" "):
|
|||
|
||||
rest = words[i+1:]
|
||||
return word, rest
|
||||
|
||||
|
||||
######
|
||||
# DB #
|
||||
######
|
||||
|
||||
def pamhyr_db_need_update(db_file, expected_version):
|
||||
db = sqlite3.connect(db_file, check_same_thread=False)
|
||||
cur = db.cursor()
|
||||
|
||||
data = cur.execute(
|
||||
"SELECT value FROM info WHERE key='version'"
|
||||
).fetchall()
|
||||
|
||||
db.close()
|
||||
if len(data) == 0:
|
||||
return True
|
||||
|
||||
return expected_version != data[0]
|
||||
|
|
|
|||
Loading…
Reference in New Issue