Skip to content

Commit

Permalink
added debug cli switch
Browse files Browse the repository at this point in the history
  • Loading branch information
benmaddison committed Nov 28, 2016
1 parent cda64fe commit 957781b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 7 deletions.
12 changes: 9 additions & 3 deletions rptk/command_line.py
@@ -1,24 +1,30 @@
import sys
import logging
import argparse
from rptk import configuration, dispatch


def main():
log = logging.getLogger(__name__)
try:
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument(
'--debug', '-d', action='store_const', const=logging.DEBUG, dest='log_level',
help="print debug logging output", default=logging.WARNING
)
args, argv = parser.parse_known_args()
lh = logging.StreamHandler()
lf = logging.Formatter(fmt="%(asctime)s %(name)s: %(levelname)s %(message)s")
lh.setFormatter(lf)
logging.getLogger().addHandler(lh)
logging.getLogger().setLevel(logging.DEBUG)
logging.getLogger().setLevel(args.log_level)
except Exception as e:
log.error(msg=e.message)
return 1
try:
log.debug(msg="started")
argv = sys.argv[1:]
log.debug(msg="have %s arguments" % len(argv))
config = configuration.Config(argv=argv)
config = configuration.Config(argv=argv, parser=parser)
log.debug(msg="configuration done")
dispatcher = dispatch.Dispatcher(config=config)
log.debug(msg="dispatcher ready")
Expand Down
11 changes: 7 additions & 4 deletions rptk/configuration.py
@@ -1,18 +1,20 @@
import os
import ConfigParser
import argparse
import logging
from rptk import _BaseObject
from rptk.load import ClassLoader


class Config(_BaseObject):
def __init__(self, argv=None, opts=None):
def __init__(self, argv=None, opts=None, parser=None):
super(Config, self).__init__()
self.log_init()
if not argv:
self.log.debug(msg="no command line args received")
argv = list()
parser = argparse.ArgumentParser(add_help=False)
if not parser:
parser = argparse.ArgumentParser(add_help=False)
config = ConfigParser.SafeConfigParser()
default_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'rptk.conf')
parser.add_argument(
Expand All @@ -24,8 +26,9 @@ def __init__(self, argv=None, opts=None):
config.read(partial_args.config_path)
try:
defaults = dict(config.items("defaults"))
except ConfigParser.Error:
raise
except ConfigParser.Error as e:
self.log.error(msg=e.message)
raise e
if opts:
if not isinstance(opts, dict):
self.raise_type_error(arg=opts, cls=dict)
Expand Down
1 change: 1 addition & 0 deletions rptk/rptk.conf
Expand Up @@ -15,3 +15,4 @@ yaml: rptk.modules.format.yamlf.YamlFormat
ios: rptk.modules.format.ios.IosFormat
junos: rptk.modules.format.junos.JunosFormat
bird: rptk.modules.format.bird.BirdFormat

0 comments on commit 957781b

Please sign in to comment.