mirror of https://gitlab.com/pamhyr/pamhyr2
77 lines
1.7 KiB
Python
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()
|