config.py 1.19 KiB
# -*- coding: utf-8 -*-

import os
import pickle

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):
        # Solvers
        self.solvers = []

        # Mailleur
        self.mailleur = ""

        # 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

    @classmethod
    def filename(cls):
        return os.environ["HOME"] + config_dir + config_file

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