diff options
author | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2009-02-24 10:03:53 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2009-02-24 10:03:53 +0530 |
commit | 0989c022195975311fe550d2a317f7cf759184a1 (patch) | |
tree | b0d6fc5dde69aead1c60b863f455d5ffc78c9126 /slave/autotua/config.py | |
parent | Fix setup-master.py to not suck monkey balls (diff) | |
download | autotua-0989c022195975311fe550d2a317f7cf759184a1.tar.gz autotua-0989c022195975311fe550d2a317f7cf759184a1.tar.bz2 autotua-0989c022195975311fe550d2a317f7cf759184a1.zip |
Minor changes to follow Pythonesque idioms
* try..finally instead of osp.exists()
* Explicit relative imports
Diffstat (limited to 'slave/autotua/config.py')
-rw-r--r-- | slave/autotua/config.py | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/slave/autotua/config.py b/slave/autotua/config.py index 7ab4267..704a310 100644 --- a/slave/autotua/config.py +++ b/slave/autotua/config.py @@ -1,5 +1,5 @@ # vim: set sw=4 sts=4 et : -# Copyright: 2008 Gentoo Foundation +# Copyright: 2008-2009 Gentoo Foundation # Author(s): Nirbheek Chauhan <nirbheek.chauhan@gmail.com> # License: GPL-3 # @@ -7,10 +7,12 @@ # """ -Default configuration, overriden by /etc/autotua/slave.cfg +Default configuration, overriden by const.CONFIG_PATH """ -import os, ConfigParser, const +from __future__ import with_statement +import os, ConfigParser +from . import const VERBOSE = False FULL_CLEAN = False @@ -29,21 +31,24 @@ PORTAGE_DIR = '/usr/portage' DISTFILES_DIR = '/usr/portage/distfiles' # Read settings from slave.cfg which override the above -if os.path.exists('%s/slave.cfg' % const.CONFIG_PATH): - options = locals().copy() - cfg = ConfigParser.ConfigParser() - cfg.readfp(open('%s/slave.cfg' % const.CONFIG_PATH)) - for option, value in options.iteritems(): - if not isinstance(value, (str, int, bool)): - continue - if cfg.has_option('global', option.lower()): - if isinstance(value, str): - if not option.startswith('__'): - exec('%s = %s' % (option, cfg.get('global', option.lower()))) - elif isinstance(value, bool): - exec('%s = %s' % (option, cfg.getboolean('global', option.lower()))) - elif isinstance(value, int): - exec('%s = %s' % (option, cfg.getint('global', option.lower()))) +try: + with open('%s/slave.cfg' % const.CONFIG_PATH) as slave_cfg: + options = locals().copy() + cfg = ConfigParser.ConfigParser() + cfg.readfp(slave_cfg) + for option, value in options.iteritems(): + if not isinstance(value, (str, int, bool)): + continue + if cfg.has_option('global', option.lower()): + if isinstance(value, str): + if not option.startswith('__'): + exec('%s = %s' % (option, cfg.get('global', option.lower()))) + elif isinstance(value, bool): + exec('%s = %s' % (option, cfg.getboolean('global', option.lower()))) + elif isinstance(value, int): + exec('%s = %s' % (option, cfg.getint('global', option.lower()))) +except IOError, OSError: + print "!!! Unable to read %s/slave.cfg, ignoring..." % const.CONFIG_PATH if not AUTOTUA_MASTER: print "!!! WARNING: You did not edit the autotua_master variable in slave.cfg (or AUTOTUA_MASTER in config.py)" |