diff options
Diffstat (limited to 'sphinx/application.py')
-rw-r--r-- | sphinx/application.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sphinx/application.py b/sphinx/application.py index 68edd588c..fe2990836 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -74,10 +74,7 @@ class Sphinx(object): self._events = events.copy() # read config - self.config = Config(confdir, 'conf.py') - if confoverrides: - for key, val in confoverrides.items(): - setattr(self.config, key, val) + self.config = Config(confdir, 'conf.py', confoverrides) # load all extension modules for extension in self.config.extensions: @@ -86,6 +83,9 @@ class Sphinx(object): if self.config.setup: self.config.setup(self) + # now that we know all config values, collect them from conf.py + self.config.init_values() + if buildername is None: print >>status, 'No builder selected, using default: html' buildername = 'html' @@ -176,10 +176,9 @@ class Sphinx(object): self.builderclasses[builder.name] = builder def add_config_value(self, name, default, rebuild_env): - if name in self.config.valuenames: + if name in self.config.config_values: raise ExtensionError('Config value %r already present' % name) - self.config.valuenames.add(name) - self.config.__class__.config_values[name] = (default, rebuild_env) + self.config.config_values[name] = (default, rebuild_env) def add_event(self, name): if name in self._events: |