From: Agnibho Mondal Date: Sat, 11 Nov 2023 15:21:35 +0000 (+0530) Subject: Preserve format while saving config X-Git-Tag: v0.5~12 X-Git-Url: https://code.agnibho.com/repo?a=commitdiff_plain;h=0e6991b0ce6b854a9ea8993a7593133216224dcd;p=medscript.git Preserve format while saving config --- diff --git a/config.py b/config.py index 6a5c616..16cbcc8 100644 --- a/config.py +++ b/config.py @@ -5,7 +5,7 @@ # MedScript is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. # You should have received a copy of the GNU General Public License along with MedScript. If not, see . -import logging, argparse, json, os, sys, shutil +import logging, argparse, json, os, sys, shutil, copy default_config_file=os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "data", "config.json")) @@ -31,7 +31,7 @@ default = { "prescriber_directory": "prescriber", "prescriber": "prescriber", "template_directory": "template", - "template": "default_prescription", + "template": "default", "preset_directory": "preset", "form_directory": "form", "enable_form": False, @@ -60,6 +60,7 @@ except Exception as e: logging.exception(e) config=default +config_orig=copy.deepcopy(config) config["filename"]=args.filename config["data_directory"]=os.path.abspath(os.path.join(real_dir, os.path.expanduser(config["data_directory"]))) config["document_directory"]=os.path.join(config["data_directory"], config["document_directory"]) diff --git a/setting.py b/setting.py index 9855acd..d440e4e 100644 --- a/setting.py +++ b/setting.py @@ -11,7 +11,7 @@ from PyQt6.QtCore import Qt, pyqtSignal from glob import glob import logging, os, json from prescription import Prescriber -from config import config, config_file +from config import config, config_orig, config_file class EditConfiguration(QDialog): @@ -84,10 +84,14 @@ class EditConfiguration(QDialog): try: with open(config_file) as f: - self.config=json.loads(f.read()) | config + read=json.loads(f.read()) + self.config=config_orig | read + except FileNotFoundError as e: + logging.critical(e) + self.config=config_orig except Exception as e: logging.exception(e) - self.config=config + self.config=config_orig self.setWindowTitle("Configuration Editor")