comparison example/argparse_undefined.py @ 141:c6aea14a3e2b

wip
author Jeff Hammel <k0scist@gmail.com>
date Mon, 01 Dec 2014 18:05:50 -0800
parents 30abbd61ea5e
children efd2d3330296
comparison
equal deleted inserted replaced
140:372315b3bb8e 141:c6aea14a3e2b
5 """ 5 """
6 6
7 import argparse 7 import argparse
8 import sys 8 import sys
9 9
10 class UndefinedArgumentParser(argparse.ArgumentParser) 10 class Undefined(object):
11 """singleton"""
12
13 Undefined = Undefined()
14
15 class UndefinedArgumentParser(argparse.ArgumentParser):
16
17 def add_argument(self, *args, **kwargs):
18 kwargs.setdefault('default', Undefined)
19 return argparse.ArgumentParser.add_argument
11 20
12 def main(args=sys.argv[1:]): 21 def main(args=sys.argv[1:]):
13 22
14 parser = UndefinedArgumentParser() 23 parser = UndefinedArgumentParser()
15 parser.add_argument('--foo', dest='foo', 24 parser.add_argument('--foo', dest='foo',