Pamhyr2/src/config.py

77 lines
1.7 KiB
Python

# -*- 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()