* :file:`./.hooke.cfg`
but alternatives can be specified from the command line launching
-Hooke.
+Hooke (``--config FILE``).
.. _Filesystem Hierarchy Standard: http://www.pathname.com/fhs/
-.. todo:: Implement command-line specified config file.
-
.. warning:: Any changes you make to the configuration during a Hooke
run will *not be saved* when Hooke exits. To save the changes,
either run the `save config` command before closing Hooke, or start
self._config_paths.append(filename)
# Can't use super() because RawConfigParser is a classic class
#return super(HookeConfigParser, self).read(filenames)
- return configparser.RawConfigParser.read(self, filenames)
+ return configparser.RawConfigParser.read(self, self._config_paths)
def _write_setting(self, fp, section=None, option=None, value=None,
**kwargs):
# Don't attach the logger because it contains an unpicklable
# thread.lock. Instead, grab it directly every time you need it.
#self.log = logging.getLogger('hooke')
+ log = logging.getLogger('hooke')
+ log.debug('config paths: %s' % self.config._config_paths)
def load_plugins(self):
self.plugins = plugin_mod.load_graph(
p.add_option(
'-u', '--ui', dest='user_interface',
help="Override the configured user interface (for easy switching).")
+ p.add_option(
+ '--config', dest='config', metavar='FILE',
+ help="Override the default config file chain.")
p.add_option(
'--save-config', dest='save_config',
action='store_true', default=False,
% (sys.argv[0], arguments)
p.print_help(sys.stderr)
sys.exit(1)
+ if options.config != None:
+ config_mod.DEFAULT_PATHS = [
+ os.path.abspath(os.path.expanduser(options.config))]
hooke = Hooke(debug=__debug__)
runner = HookeRunner()