#222 Fix argparse error in Python 3
Merged 7 years ago by cqi. Opened 7 years ago by cqi.

file modified
+8
@@ -57,6 +57,14 @@ 

      client.do_imports(site='fedpkg')

      client.parse_cmdline()

  

+     # This is due to a difference argparse behavior to Python 2 version.

+     # In Python 3, argparse will proceed to here without reporting

+     # "too few arguments". Instead, client.args does not have attribute

+     # command.

+     if not hasattr(client.args, 'command'):

+         client.parser.print_help()

+         sys.exit(1)

+ 

      if not client.args.path:

          try:

              client.args.path = pyrpkg.utils.getcwd()

argparse behaves differently in Python 2 and 3 when no options and
arguments are passed to executable fedpkg. That causes no attribute
named command is set to parsed namespace object in Python 3. Command
line help message has to be output explicitly.

Fixes #221

Signed-off-by: Chenxiong Qi cqi@redhat.com

Pull-Request has been merged by cqi

7 years ago