From 47c3866f512b073900f773ff38cc620fcd055f72 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 22 Jan 2014 16:52:35 +0100 Subject: [PATCH] Change default config handling. Now the default config only gets applied (and written to disk) when no config file doesn't exist yet. --- qutebrowser/utils/config.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/qutebrowser/utils/config.py b/qutebrowser/utils/config.py index 48194918b..ac7ed798c 100644 --- a/qutebrowser/utils/config.py +++ b/qutebrowser/utils/config.py @@ -33,16 +33,26 @@ class Config(ConfigParser): """configdir: directory to store the config in""" super().__init__() self.optionxform = lambda opt: opt # be case-insensitive - self.read_dict(default_config) self.configdir = configdir self.configfile = os.path.join(self.configdir, self.FNAME) + if not os.path.isfile(self.configfile): + self.init_config() logging.debug("Reading config from {}".format(self.configfile)) self.read(self.configfile) + def init_config(self): + logging.info("Initializing default config.") + if not os.path.exists(self.configdir): + os.makedirs(self.configdir, 0o755) + cp = ConfigParser() + cp.optionxform = lambda opt: opt # be case-insensitive + cp.read_dict(default_config) + with open(self.configfile, 'w') as f: + cp.write(f) + def save(self): if not os.path.exists(self.configdir): os.makedirs(self.configdir, 0o755) - logging.debug("Config directory does not exist, created.") logging.debug("Saving config to {}".format(self.configfile)) with open(self.configfile, 'w') as f: self.write(f)