documentation, settings change

This commit is contained in:
WorldTeacher
2024-10-07 08:43:56 +02:00
parent b568787609
commit 26ecf20aad
2 changed files with 21 additions and 12 deletions

View File

@@ -2,6 +2,7 @@ from .sources.Ui_dialog_settings import Ui_Dialog
from PyQt6 import QtWidgets, QtCore
from src.utils import Icon
from src import config
from src.utils import debugMessage as dbg
from omegaconf import OmegaConf
import os
@@ -15,6 +16,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
self.originalSettings = config.to_Omegaconf()
self.changedSettings = config.to_Omegaconf()
self.shortcuts = config.shortcuts
self.shortcuts = self.sortShortcuts(self.shortcuts)
self.settingschanged = False
self.restart_required = False
@@ -92,8 +94,6 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
)
self.settingschanged = True
def selectDatabasePath(self):
databasePath = QtWidgets.QFileDialog.getExistingDirectory(
self, "Select Database Path", self.originalSettings.database.path
@@ -108,7 +108,6 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
self.settingschanged = True
self.restart_required = True
def selectDatabaseName(self):
# filepicker with filter to select only .db files if a file is selected, set name to the lineedit and set database_path
databaseName = QtWidgets.QFileDialog.getOpenFileName(
@@ -141,6 +140,13 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
}
)
return shortcuts
def sortShortcuts(self, shortcuts):
short = []
for shortcut in shortcuts:
short.append(shortcut)
short.sort(key=lambda x: x["name"])
return short
def saveSettings(self):
# save settings to config file
@@ -162,8 +168,6 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
if database_path != self.originalSettings.database.path :
os.makedirs(database_path, exist_ok=True)
self.restart_required = True
if shortcuts != self.originalSettings.shortcuts:
self.restart_required = True
@@ -182,18 +186,22 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
changed = self.changedSettings
original = self.originalSettings
if changed == original:
print("No changes")
self.settingschanged = False
self.restart_required = False
dbg("Settings not changed")
else:
print("Changes detected")
self.settingschanged = True
if original.database.path != changed.database.path or original.shortcuts != changed.shortcuts:
#compare if database or shortcuts were changed
database = original.database == changed.database
shortcuts = self.shortcuts == self.sortShortcuts(changed.shortcuts)
if not database or not shortcuts:
self.restart_required = True
dbg(f"Settings changed, restart required: {self.restart_required}",database=database,shortcuts=shortcuts)
# save the new settings
if self.settingschanged:
# save the settings
@@ -202,7 +210,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
config.updateValue("database.backupLocation", self.changedSettings.database.backupLocation)
config.updateValue("database.path", self.changedSettings.database.path)
config.updateValue("database.name", self.changedSettings.database.name)
config.updateValue("delete_inactive_user_duration", self.changedSettings.delete_inactive_user_duration)
config.updateValue("inactive_user_deletion", self.changedSettings.inactive_user_deletion)
config.updateValue("report.report_day", self.changedSettings.report.report_day)
config.updateValue("report.generate_report", self.changedSettings.report.generate_report)
config.updateValue("report.path", self.changedSettings.report.path)

View File

@@ -1,5 +1,6 @@
from pyramid.config import Configurator
from wsgiref.simple_server import make_server
from src import docport
import os
def website():
config = Configurator()
@@ -13,7 +14,7 @@ def website():
def launch_documentation():
app = website()
server = make_server('localhost', 6543, app)
print("Serving MkDocs documentation on http://0.0.0.0:6543")
print("Serving MkDocs documentation on http://0.0.0.0:{}".format(docport))
server.serve_forever()
if __name__ == '__main__':