view example/argparse_undefined.py @ 143:2825b0fdf80e

wip
author Jeff Hammel <k0scist@gmail.com>
date Mon, 01 Dec 2014 18:24:01 -0800
parents efd2d3330296
children df5350aee9c3
line wrap: on
line source

#!/usr/bin/env python

"""
illustrate which options are parsed with argparse
"""

import argparse
import sys

class Undefined(object):
    """singleton"""

Undefined = Undefined()

class UndefinedArgumentParser(argparse.ArgumentParser):

    def __init__(self, *args, **kwargs):
        argparse.ArgumentParser.__init__(self, *args, **kwargs)

    def add_argument(self, *args, **kwargs):
        kwargs.setdefault('default', Undefined)
        return argparse.ArgumentParser.add_argument

def main(args=sys.argv[1:]):

    parser = UndefinedArgumentParser()
    parser.add_argument('--foo', dest='foo',
                        help="foo")

if __name__ == '__main__':
    main()