From: Zac Medico Date: Tue, 30 Jul 2013 22:21:48 +0000 (-0700) Subject: install.py: split out optparse compat code X-Git-Tag: v2.2.0_alpha192~31 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2cebb23f1497a1c50967e7772d4e36e7dc89b70e;p=portage.git install.py: split out optparse compat code --- diff --git a/bin/install.py b/bin/install.py index 0bf7a1f89..b194941b4 100755 --- a/bin/install.py +++ b/bin/install.py @@ -8,24 +8,10 @@ import sys import subprocess import traceback +from portage.util._argparse import ArgumentParser from portage.util.movefile import _copyxattr from portage.exception import OperationNotSupported -try: - from argparse import ArgumentParser -except ImportError: - # Compatibility with Python 2.6 and 3.1 - from optparse import OptionParser - - class ArgumentParser(object): - def __init__(self, **kwargs): - add_help = kwargs.pop("add_help", None) - if add_help is not None: - kwargs["add_help_option"] = add_help - parser = OptionParser(**kwargs) - self.add_argument = parser.add_option - self.parse_known_args = parser.parse_args - # Change back to original cwd _after_ all imports (bug #469338). os.chdir(os.environ["__PORTAGE_HELPER_CWD"]) diff --git a/pym/portage/util/_argparse.py b/pym/portage/util/_argparse.py new file mode 100644 index 000000000..5e6a9ba2d --- /dev/null +++ b/pym/portage/util/_argparse.py @@ -0,0 +1,19 @@ +# Copyright 2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +__all__ = ['ArgumentParser'] + +try: + from argparse import ArgumentParser +except ImportError: + # Compatibility with Python 2.6 and 3.1 + from optparse import OptionParser + + class ArgumentParser(object): + def __init__(self, **kwargs): + add_help = kwargs.pop("add_help", None) + if add_help is not None: + kwargs["add_help_option"] = add_help + parser = OptionParser(**kwargs) + self.add_argument = parser.add_option + self.parse_known_args = parser.parse_args