diff options
Diffstat (limited to 'cbc/environment.py')
-rw-r--r-- | cbc/environment.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/cbc/environment.py b/cbc/environment.py index d1b7d12..2603af2 100644 --- a/cbc/environment.py +++ b/cbc/environment.py @@ -20,7 +20,7 @@ class Environment(object): self.pwd = os.path.abspath(os.curdir) self.pkgdir = None self.rcpath = os.path.expanduser('~/.cbcrc') - self.configrc = None + self.configrc = CBCConfigParser(interpolation=ExtendedInterpolation()) if 'CBC_HOME' in kwargs: self.cbchome = kwargs['CBC_HOME'] @@ -30,17 +30,7 @@ class Environment(object): if 'CBC_HOME' in self.environ: self.cbchome = self.environ['CBC_HOME'] - if os.path.exists(self.rcpath): - if os.path.isfile(self.rcpath): - self.configrc = CBCConfigParser(interpolation=ExtendedInterpolation()) - self.configrc.read(self.rcpath) - - if 'settings' in self.configrc.sections(): - if 'path' in self.configrc['settings']: - self.cbchome = self.configrc['settings']['path'] - if not self.cbchome: - raise IncompleteEnv('.cbcrc empty path detected. Check: settings -> path') - + # A few hard-coded defaults pertaining to the seldom-used internal web server self.configrc['cbc_cgi'] = {} self.configrc['cbc_cgi']['local_server'] = 'true' self.configrc['cbc_cgi']['local_port'] = '8888' @@ -48,6 +38,16 @@ class Environment(object): self.configrc['cbc_cgi']['protocol'] = 'http' self.configrc['cbc_cgi']['url'] = '{0}://localhost:{1}'.format(self.configrc['cbc_cgi']['protocol'], self.configrc['cbc_cgi']['local_port']) + if os.path.exists(self.rcpath): + if os.path.isfile(self.rcpath): + self.configrc.read(self.rcpath) + + if 'settings' in self.configrc.sections(): + if 'path' in self.configrc['settings']: + self.cbchome = self.configrc['settings']['path'] + if not self.cbchome: + raise IncompleteEnv('.cbcrc empty path detected. Check: settings -> path') + if self.cbchome is None: raise IncompleteEnv('CBC_HOME is undefined.') |