paul j3 added the comment:

I'm exploring modifying that patch by adding a 'subnamespace' attribute to the 
subparsers Action object.  This would give the user, or the main parser control 
over the namespace that is passed to a subparser.

For example: 

        subnamespace = getattr(self, 'subnamespace', False)
        if subnamespace is None:
            pass
        elif not  subnamespace:
            subnamespace = namespace
        # if None, subparser will use a fresh one
        subnamespace, arg_strings = parser.parse_known_args(arg_strings, 
subnamespace)
        for key, value in vars(subnamespace).items():
            setattr(namespace, key, value)

As written here, no value (or any False) would use the main parser namespace, 
as done with existing code.

A 'None' value, would use the a new empty namespace, as proposed in this patch.

Or the user could directly define the namespace, e.g.

    sp = parser.add_subparsers()
    sp.subnamespace = Namespace(foo=4)

That could also be convenient if the user is using a custom Namespace class.

'parse_known_args' could also set this attribute, based on whether the user has 
given it a namespace or not.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue9351>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to