#22 Backport: Fix argparse error in Python 3
Merged 5 years ago by cqi. Opened 5 years ago by cqi.

@@ -0,0 +1,39 @@ 

+ From 4ee70510c86469b2b1f910ad85844e7bce9b94a8 Mon Sep 17 00:00:00 2001

+ From: Chenxiong Qi <cqi@redhat.com>

+ Date: Mon, 21 May 2018 23:22:59 +0800

+ Subject: [PATCH] Fix argparse error in Python 3

+ 

+ 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>

+ ---

+  fedpkg/__main__.py | 8 ++++++++

+  1 file changed, 8 insertions(+)

+ 

+ diff --git a/fedpkg/__main__.py b/fedpkg/__main__.py

+ index e12f255..c7ea14c 100644

+ --- a/fedpkg/__main__.py

+ +++ b/fedpkg/__main__.py

+ @@ -57,6 +57,14 @@ def main():

+      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()

+ -- 

+ 2.14.3

+ 

file modified
+7 -2
@@ -5,12 +5,13 @@ 

  

  Name:           fedpkg

  Version:        1.33

- Release:        2%{?dist}

+ Release:        3%{?dist}

  Summary:        Fedora utility for working with dist-git

  

  License:        GPLv2+

  URL:            https://pagure.io/fedpkg

  Source0:        https://pagure.io/releases/fedpkg/%{name}-%{version}.tar.bz2

+ Patch0:         0001-Fix-argparse-error-in-Python-3.patch

  

  BuildArch:      noarch

  
@@ -102,6 +103,7 @@ 

  

  %prep

  %setup -q

+ %patch0 -p1

  

  %build

  %py_build
@@ -147,8 +149,11 @@ 

  

  

  %changelog

+ * Tue May 22 2018 Chenxiong Qi <cqi@redhat.com> 1.33-3

+ - Backport: Fix argparse error in Python 3

+ 

  * Mon May 21 2018 Chenxiong Qi <cqi@redhat.com> 1.33-2

- * Require python2-rpkg-1.54-2 as minimum version

+ - Require python2-rpkg-1.54-2 as minimum version

  

  * Mon May 14 2018 Chenxiong Qi <cqi@redhat.com> - 1.33-1

  - Allow running tests against specified rpkg (cqi)

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

This is useful for the Python 3 package in rawhide.

Pull-Request has been merged by cqi

5 years ago