# -*- coding: utf-8 -*- import os import pickle from Model.Stricklers.StricklersList import StricklersList config_dir = "/.cache/pamhyr/" config_file = "config.pkl" class Config(object): def __init__(self): super(Config, self).__init__() self.filename = Config.filename() self.set_default_value() def set_default_value(self): print('toto') # Solvers self._solvers = [] # Meshing tool self.meshing_tool = "" # Const self.segment = 1000 self.max_listing = 500000 # Backup self.backup_enable = True self.backup_path = "" self.backup_frequence = "00:05:00" self.backup_max = 10 # Languages self.lang = "" # Stricklers self.stricklers = StricklersList() @classmethod def filename(cls): return os.path.expanduser('~') + config_dir + config_file @classmethod def languages(cls): return { "System": "", "English": "en", "French": "fr", } @property def solvers(self): return self._solvers.copy() @solvers.setter def solvers(self, solvers): self._solvers = solvers def save(self): os.makedirs(os.path.dirname(self.filename), exist_ok=True) with open(self.filename, 'wb') as out_file: pickle.dump(self, out_file) @classmethod def load(cls): filename = cls.filename() if os.path.isfile(filename): with open(filename, 'rb') as in_file: me = pickle.load(in_file) return me else: print("config: New config") return cls()