Fix incompatibility with older argparse
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 26 Apr 2017 10:34:15 +0000 (11:34 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 26 Apr 2017 10:39:35 +0000 (11:39 +0100)
commit4d5e3eab6ddd707e680ed5e466cb310c0f291a86
treeec5897ac1fef3c3d8299e54b1d26f77e6d776fad
parent1a6aaf853ff7202b869dc7868f800ed7da9538d0
Fix incompatibility with older argparse

With older argparse (circa 2.7.4 vintage), using set_defaults
to set a function on the main parser prevents it from ever
calling the functions set on the sub-parser.

We registered this default function so that we could get help
usage with argparse on python 3.x, since it doesn't print
error by default if no sub-parser command is given (but 2.x
does).

To workaround this, we instead check for 'func' attribute
existing on the parsed args. This is a no-op for python 2.x
since it already printed a usage message by default.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
tools/keymap-gen