def get_jolthome(): if os.name == "nt": return fs.path.join( os.getenv("LOCALAPPDATA", fs.path.join(fs.userhome(), "AppData", "Local")), "Jolt") else: return fs.path.join(fs.userhome(), ".jolt")
def get_cachedir(): if os.name == "nt": default = fs.path.join(get_jolthome(), "Cache") else: default = fs.path.join(fs.userhome(), ".cache", "jolt") return get("jolt", "cachedir", default)
from configparser import SafeConfigParser, NoOptionError, NoSectionError import os from jolt import filesystem as fs from jolt import utils from jolt.error import raise_error_if from jolt.manifest import ManifestExtension, ManifestExtensionRegistry if os.getenv("JOLT_CONFIG_PATH"): location = fs.path.join(os.getenv("JOLT_CONFIG_PATH"), "config") location_user = fs.path.join(os.getenv("JOLT_CONFIG_PATH"), "user") elif os.name == "nt": appdata = os.getenv("APPDATA", fs.path.join(fs.userhome(), "AppData", "Roaming")) location = fs.path.join(appdata, "Jolt", "config") location_user = fs.path.join(appdata, "Jolt", "user") else: location = fs.path.join(fs.userhome(), ".config", "jolt", "config") location_user = fs.path.join(fs.userhome(), ".config", "jolt", "user") class ConfigFile(SafeConfigParser): def __init__(self, location, *args, **kwargs): super().__init__(*args, **kwargs) self._location = location if location is not None: dirname = fs.path.dirname(location) if dirname: fs.makedirs(dirname) def load(self):
import os from jolt import filesystem as fs from jolt import utils from jolt.error import raise_error_if from jolt.manifest import ManifestExtension, ManifestExtensionRegistry _workdir = os.getcwd() if os.getenv("JOLT_CONFIG_PATH"): location = fs.path.join(os.getenv("JOLT_CONFIG_PATH"), "config") location_user = fs.path.join(os.getenv("JOLT_CONFIG_PATH"), "user") elif os.name == "nt": appdata = os.getenv("APPDATA", fs.path.join(fs.userhome(), "AppData", "Roaming")) location = fs.path.join(appdata, "Jolt", "config") location_user = fs.path.join(appdata, "Jolt", "user") else: location = fs.path.join(fs.userhome(), ".config", "jolt", "config") location_user = fs.path.join(fs.userhome(), ".config", "jolt", "user") class ConfigFile(ConfigParser): def __init__(self, location, *args, **kwargs): super().__init__(*args, **kwargs) self._location = location if location is not None: dirname = fs.path.dirname(location) if dirname: fs.makedirs(dirname)