aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-05-29 01:11:15 +0000
committerRob Austein <sra@hactrn.net>2014-05-29 01:11:15 +0000
commit0606e7af8b08b5eabe2b3ce5720a07a14a09ad48 (patch)
tree8b644fd9531766fe015364894e0fca170a056f5e
parent9eb788ce512ff8d95a78e8a87e49a7766291d699 (diff)
For some reason using choices with a non-string type in argparse works
in Python 2.7.6 on MacOSX but not in Python 2.7.6 on FreeBSD. Not worth trying to figure out why, custom argparse.Action is easy. svn path=/trunk/; revision=5840
-rw-r--r--rpki/log.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/rpki/log.py b/rpki/log.py
index bf9185e8..2d13a953 100644
--- a/rpki/log.py
+++ b/rpki/log.py
@@ -72,6 +72,10 @@ def argparse_setup(parser):
Default logging destination is syslog, but also see rpki.log.init().
"""
+ class LogLevel(argparse.Action):
+ def __call__(self, parser, namespace, values, option_string = None):
+ setattr(namespace, self.dest, getattr(logging, values.upper()))
+
class RotatingFile(argparse.Action):
def __call__(self, parser, namespace, values, option_string = None):
setattr(namespace, self.dest, values[0])
@@ -84,9 +88,8 @@ def argparse_setup(parser):
setattr(namespace, self.dest + "_interval", int(values[1]))
setattr(namespace, self.dest + "_backupCount", int(values[2]))
- parser.add_argument("--log-level", default = logging.WARNING,
+ parser.add_argument("--log-level", default = logging.WARNING, action = LogLevel,
choices = ("debug", "info", "warning", "error", "critical"),
- type = lambda s: int(getattr(logging, s.upper())),
help = "how verbosely to log")
group = parser.add_mutually_exclusive_group()
group.add_argument("--log-syslog", nargs = "?", default = "daemon",