From: Zac Medico <zmedico@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Cc: Zac Medico <zmedico@gentoo.org>
Subject: [gentoo-portage-dev] [PATCH] chpathtool.py: avoid unnecessary optparse import
Date: Mon, 19 Jan 2015 01:13:17 -0800 [thread overview]
Message-ID: <1421658797-19090-1-git-send-email-zmedico@gentoo.org> (raw)
Since commit d217db2bc76e4c1a2e75685b4a00e25f7d8142a8, the optparse
module has been imported unconditionally, even when the argparse module
is available. Fix it to import optparse only if the argparse import
fails.
Fixes: d217db2bc76e ("Make use of optparse to fix argument parsing for Python 2.6 in bin/chpathtool.py.")
---
bin/chpathtool.py | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/bin/chpathtool.py b/bin/chpathtool.py
index 9b26086..842f1f4 100755
--- a/bin/chpathtool.py
+++ b/bin/chpathtool.py
@@ -13,14 +13,12 @@ import os
import stat
import sys
-from portage.util._argparse import ArgumentParser
-
-# Argument parsing compatibility for Python 2.6 using optparse.
-if sys.hexversion < 0x2070000:
+try:
+ from argparse import ArgumentParser
+except ImportError:
+ ArgumentParser = None
from optparse import OptionParser
-from optparse import OptionError
-
CONTENT_ENCODING = 'utf_8'
FS_ENCODING = 'utf_8'
@@ -154,8 +152,8 @@ def chpath_inplace_symlink(filename, st, old, new):
def main(argv):
- parser = ArgumentParser(description=doc)
- try:
+ if ArgumentParser is not None:
+ parser = ArgumentParser(description=doc)
parser.add_argument('location', default=None,
help='root directory (e.g. $D)')
parser.add_argument('old', default=None,
@@ -165,9 +163,8 @@ def main(argv):
opts = parser.parse_args(argv)
location, old, new = opts.location, opts.old, opts.new
- except OptionError:
+ else:
# Argument parsing compatibility for Python 2.6 using optparse.
- if sys.hexversion < 0x2070000:
parser = OptionParser(description=doc,
usage="usage: %prog [-h] location old new\n\n" + \
" location: root directory (e.g. $D)\n" + \
@@ -178,13 +175,10 @@ def main(argv):
if len(args) != 3:
parser.print_usage()
- print("%s: error: expected 3 arguments, got %i"
+ parser.error("%s: error: expected 3 arguments, got %i"
% (__file__, len(args)))
- return
location, old, new = args[0:3]
- else:
- raise
is_text_file = IsTextFile()
--
2.0.5
next reply other threads:[~2015-01-19 9:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-19 9:13 Zac Medico [this message]
2015-01-19 15:33 ` [gentoo-portage-dev] [PATCH] chpathtool.py: avoid unnecessary optparse import Brian Dolbec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1421658797-19090-1-git-send-email-zmedico@gentoo.org \
--to=zmedico@gentoo.org \
--cc=gentoo-portage-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox