From: Zac Medico Date: Fri, 21 Jun 2013 21:24:36 +0000 (-0700) Subject: install.py: Python 2.6 and 3.1 optparse compat X-Git-Tag: v2.2.0_alpha184~7 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1c47d7ae856e8dea4e0d8bd9244331d752d49c44;p=portage.git install.py: Python 2.6 and 3.1 optparse compat --- diff --git a/bin/install.py b/bin/install.py index 6be390022..3fdd5be3b 100755 --- a/bin/install.py +++ b/bin/install.py @@ -4,13 +4,26 @@ import os import sys -import argparse import subprocess import traceback 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 def parse_args(args): """ @@ -20,7 +33,7 @@ def parse_args(args): Returns: tuple of the Namespace of parsed options, and a list of order parameters """ - parser = argparse.ArgumentParser(add_help=False) + parser = ArgumentParser(add_help=False) parser.add_argument( "-b",