summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Options/Parser.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-08-09 16:45:45 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-08-09 16:45:45 -0400
commit0f7edd60e67d32438a8be42002faacde4e4a7649 (patch)
tree2b11b02f5bf4f9e7a6e609136bf2a19c8f166cc4 /src/lib/Bcfg2/Options/Parser.py
parentcc11ada6b8871d7719fd0ea8a2ff382bba8a3bc2 (diff)
downloadbcfg2-0f7edd60e67d32438a8be42002faacde4e4a7649.tar.gz
bcfg2-0f7edd60e67d32438a8be42002faacde4e4a7649.tar.bz2
bcfg2-0f7edd60e67d32438a8be42002faacde4e4a7649.zip
testsuite: fixed most pylint complaints
Diffstat (limited to 'src/lib/Bcfg2/Options/Parser.py')
-rw-r--r--src/lib/Bcfg2/Options/Parser.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/lib/Bcfg2/Options/Parser.py b/src/lib/Bcfg2/Options/Parser.py
index 343399db9..dd7874d35 100644
--- a/src/lib/Bcfg2/Options/Parser.py
+++ b/src/lib/Bcfg2/Options/Parser.py
@@ -5,7 +5,7 @@ import sys
import argparse
from Bcfg2.version import __version__
from Bcfg2.Compat import ConfigParser
-from Options import Option, PathOption, BooleanOption
+from Options import Option, PathOption, BooleanOption # pylint: disable=W0403
__all__ = ["setup", "OptionParserException", "Parser", "get_parser"]
@@ -13,14 +13,14 @@ __all__ = ["setup", "OptionParserException", "Parser", "get_parser"]
#: The repository option. This is specified here (and imported into
#: :module:`Bcfg2.Options.Common`) rather than vice-versa due to
#: circular imports.
-repository = PathOption(
+repository = PathOption( # pylint: disable=C0103
'-Q', '--repository', cf=('server', 'repository'),
default='var/lib/bcfg2', help="Server repository path")
#: A module-level :class:`argparse.Namespace` object that stores all
#: configuration for Bcfg2.
-setup = argparse.Namespace(version=__version__,
+setup = argparse.Namespace(version=__version__, # pylint: disable=C0103
name="Bcfg2",
uri='http://trac.mcs.anl.gov/projects/bcfg2')
@@ -115,6 +115,9 @@ class Parser(argparse.ArgumentParser):
self.add_options(getattr(component, "options"))
def _set_defaults(self):
+ """ Set defaults from the config file for all options that can
+ come from the config file, but haven't yet had their default
+ set """
for opt in self.option_list:
if opt not in self._defaults_set:
opt.default_from_config(self._cfp)
@@ -137,10 +140,16 @@ class Parser(argparse.ArgumentParser):
setattr(self.namespace, opt.dest, value)
def _finalize(self):
+ """ Finalize the value of any options that require that
+ additional post-processing step. (Mostly
+ :class:`Bcfg2.Options.Actions.ComponentAction` subclasses.)
+ """
for opt in self.option_list[:]:
opt.finalize(self.namespace)
def _reset_namespace(self):
+ """ Delete all options from the namespace except for a few
+ predefined values and config file options. """
self.parsed = False
for attr in dir(self.namespace):
if (not attr.startswith("_") and
@@ -200,11 +209,10 @@ class Parser(argparse.ArgumentParser):
# components, until all components have been loaded. On each
# iteration, set defaults from config file/environment
# variables
- remaining = self.argv
while not self.parsed:
self.parsed = True
self._set_defaults()
- self.parse_known_args(namespace=self.namespace)[1]
+ self.parse_known_args(namespace=self.namespace)
self._parse_config_options()
self._finalize()
self._parse_config_options()
@@ -227,7 +235,7 @@ class Parser(argparse.ArgumentParser):
#: A module-level :class:`Bcfg2.Options.Parser` object that is used
#: for all parsing
-_parser = Parser()
+_parser = Parser() # pylint: disable=C0103
#: Track whether or not the module-level parser has been initialized
#: yet. We track this separately because some things (e.g., modules
@@ -235,7 +243,7 @@ _parser = Parser()
#: been initialized, so we can't just set
#: :attr:`Bcfg2.Options._parser` to None and wait for
#: :func:`Bcfg2.Options.get_parser` to be called.
-_parser_initialized = False
+_parser_initialized = False # pylint: disable=C0103
def get_parser(description=None, components=None, namespace=None):