Since we don't support python 2.6 anymore, there's no need to wrap argparse, so switch all the users to the standard library for it. --- bin/binhost-snapshot | 4 ++-- bin/ebuild | 4 ++-- bin/egencache | 4 ++-- bin/fixpackages | 4 ++-- bin/glsa-check | 4 ++-- bin/install.py | 4 ++-- bin/portageq | 6 +++--- bin/quickpkg | 4 ++-- bin/xattr-helper.py | 4 ++-- bin/xpak-helper.py | 4 ++-- pym/_emerge/main.py | 4 ++-- pym/portage/_emirrordist/main.py | 4 ++-- pym/portage/emaint/main.py | 6 ++---- pym/portage/sync/controller.py | 1 - pym/portage/tests/__init__.py | 4 ++-- pym/portage/util/_argparse.py | 42 ---------------------------------------- pym/repoman/argparser.py | 4 ++-- 17 files changed, 31 insertions(+), 76 deletions(-) delete mode 100644 pym/portage/util/_argparse.py
diff --git a/bin/binhost-snapshot b/bin/binhost-snapshot index 3a34643..4130e75 100755 --- a/bin/binhost-snapshot +++ b/bin/binhost-snapshot @@ -2,6 +2,7 @@ # Copyright 2010-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +import argparse import io import os import sys @@ -17,7 +18,6 @@ if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), ".porta sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")) import portage portage._internal_caller = True -from portage.util._argparse import ArgumentParser def parse_args(argv): prog_name = os.path.basename(argv[0]) @@ -45,7 +45,7 @@ def parse_args(argv): "write Packages index with\n" + \ " snapshot_uri" - parser = ArgumentParser(usage=usage) + parser = argparse.ArgumentParser(usage=usage) parser.add_argument('--hardlinks', help='create hardlinks (y or n, default is y)', choices=('y', 'n'), diff --git a/bin/ebuild b/bin/ebuild index ad52ed5..59fced0 100755 --- a/bin/ebuild +++ b/bin/ebuild @@ -4,6 +4,7 @@ from __future__ import print_function +import argparse import platform import signal import sys @@ -48,13 +49,12 @@ from portage import _shell_quote from portage import _unicode_decode from portage import _unicode_encode from portage.const import VDB_PATH -from portage.util._argparse import ArgumentParser from _emerge.Package import Package from _emerge.RootConfig import RootConfig description = "See the ebuild(1) man page for more info" usage = "Usage: ebuild <ebuild file> <command> [command] ..." -parser = ArgumentParser(description=description, usage=usage) +parser = argparse.ArgumentParser(description=description, usage=usage) force_help = "When used together with the digest or manifest " + \ "command, this option forces regeneration of digests for all " + \ diff --git a/bin/egencache b/bin/egencache index 67fca73..6407a44 100755 --- a/bin/egencache +++ b/bin/egencache @@ -5,6 +5,7 @@ # unicode_literals for compat with TextIOWrapper in Python 2 from __future__ import print_function, unicode_literals +import argparse import platform import signal import stat @@ -54,7 +55,6 @@ from portage.const import TIMESTAMP_FORMAT from portage.manifest import guessManifestFileType from portage.package.ebuild._parallel_manifest.ManifestScheduler import ManifestScheduler from portage.util import cmp_sort_key, writemsg_level -from portage.util._argparse import ArgumentParser from portage.util._async.run_main_scheduler import run_main_scheduler from portage.util._eventloop.global_event_loop import global_event_loop from portage import cpv_getkey @@ -81,7 +81,7 @@ if sys.hexversion >= 0x3000000: def parse_args(args): usage = "egencache [options] <action> ... [atom] ..." - parser = ArgumentParser(usage=usage) + parser = argparse.ArgumentParser(usage=usage) actions = parser.add_argument_group('Actions') actions.add_argument("--update", diff --git a/bin/fixpackages b/bin/fixpackages index 8a0c444..70ca9fc 100755 --- a/bin/fixpackages +++ b/bin/fixpackages @@ -4,6 +4,7 @@ from __future__ import print_function +import argparse import os import sys @@ -14,7 +15,6 @@ import portage portage._internal_caller = True from portage import os from portage.output import EOutput -from portage.util._argparse import ArgumentParser from textwrap import wrap from portage._global_updates import _global_updates mysettings = portage.settings @@ -25,7 +25,7 @@ description = """The fixpackages program performs package move updates on configuration files, installed packages, and binary packages.""" description = " ".join(description.split()) -parser = ArgumentParser(description=description) +parser = argparse.ArgumentParser(description=description) parser.parse_args() if mysettings['ROOT'] != "/": diff --git a/bin/glsa-check b/bin/glsa-check index 94dea73..84481d8 100755 --- a/bin/glsa-check +++ b/bin/glsa-check @@ -4,6 +4,7 @@ from __future__ import print_function +import argparse import sys import codecs @@ -14,7 +15,6 @@ import portage portage._internal_caller = True from portage import os from portage.output import green, red, nocolor, white -from portage.util._argparse import ArgumentParser __program__ = "glsa-check" __author__ = "Marius Mauch <gen...@gentoo.org>" @@ -24,7 +24,7 @@ __version__ = "1.0" epilog = "glsa-list can contain an arbitrary number of GLSA ids," \ " filenames containing GLSAs or the special identifiers" \ " 'all', 'new' and 'affected'" -parser = ArgumentParser(usage=__program__ + " <option> [glsa-list]", +parser = argparse.ArgumentParser(usage=__program__ + " <option> [glsa-list]", epilog=epilog) modes = parser.add_argument_group("Modes") diff --git a/bin/install.py b/bin/install.py index 5bbe97b..d3789ed 100755 --- a/bin/install.py +++ b/bin/install.py @@ -2,6 +2,7 @@ # Copyright 2013-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +import argparse import os import stat import sys @@ -9,7 +10,6 @@ import subprocess import traceback import portage -from portage.util._argparse import ArgumentParser from portage.util.movefile import _copyxattr from portage.exception import OperationNotSupported @@ -24,7 +24,7 @@ def parse_args(args): Returns: tuple of the Namespace of parsed options, and a list of order parameters """ - parser = ArgumentParser(add_help=False) + parser = argparse.ArgumentParser(add_help=False) parser.add_argument( "-b", diff --git a/bin/portageq b/bin/portageq index 649ee04..548d090 100755 --- a/bin/portageq +++ b/bin/portageq @@ -4,6 +4,7 @@ from __future__ import print_function, unicode_literals +import argparse import signal import sys # This block ensures that ^C interrupts are handled quietly. @@ -44,7 +45,6 @@ portage._internal_caller = True from portage import os from portage.eapi import eapi_has_repo_deps from portage.util import writemsg, writemsg_stdout -from portage.util._argparse import ArgumentParser portage.proxy.lazyimport.lazyimport(globals(), 're', 'subprocess', @@ -1310,7 +1310,7 @@ def usage(argv): print() print('Pkgcore pquery compatible options:') print() - parser = ArgumentParser(add_help=False, + parser = argparse.ArgumentParser(add_help=False, usage='portageq pquery [options] [atom ...]') add_pquery_arguments(parser) parser.print_help() @@ -1342,7 +1342,7 @@ def main(argv): if nocolor in ('yes', 'true'): portage.output.nocolor() - parser = ArgumentParser(add_help=False) + parser = argparse.ArgumentParser(add_help=False) # used by envvar parser.add_argument("-v", dest="verbose", action="store_true") diff --git a/bin/quickpkg b/bin/quickpkg index 262fda4..4f26ee9 100755 --- a/bin/quickpkg +++ b/bin/quickpkg @@ -4,6 +4,7 @@ from __future__ import division, print_function +import argparse import errno import math import signal @@ -26,7 +27,6 @@ xattr = _xattr.xattr from portage.dbapi.vartree import dblink, tar_contents from portage.checksum import perform_md5 from portage._sets import load_default_config, SETPREFIX -from portage.util._argparse import ArgumentParser def quickpkg_atom(options, infos, arg, eout): settings = portage.settings @@ -302,7 +302,7 @@ def quickpkg_main(options, args, eout): if __name__ == "__main__": usage = "quickpkg [options] <list of package atoms or package sets>" - parser = ArgumentParser(usage=usage) + parser = argparse.ArgumentParser(usage=usage) parser.add_argument("--umask", default="0077", help="umask used during package creation (default is 0077)") diff --git a/bin/xattr-helper.py b/bin/xattr-helper.py index 19f25f9..b5faed0 100755 --- a/bin/xattr-helper.py +++ b/bin/xattr-helper.py @@ -13,12 +13,12 @@ https://en.wikipedia.org/wiki/Extended_file_attributes __doc__ = doc +import argparse import array import os import re import sys -from portage.util._argparse import ArgumentParser from portage.util._xattr import xattr @@ -140,7 +140,7 @@ def restore_xattrs(file_in): def main(argv): - parser = ArgumentParser(description=doc) + parser = argparse.ArgumentParser(description=doc) parser.add_argument('paths', nargs='*', default=[]) actions = parser.add_argument_group('Actions') diff --git a/bin/xpak-helper.py b/bin/xpak-helper.py index c4391cd..8c965ec 100755 --- a/bin/xpak-helper.py +++ b/bin/xpak-helper.py @@ -2,11 +2,11 @@ # Copyright 2009-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +import argparse import sys import portage portage._internal_caller = True from portage import os -from portage.util._argparse import ArgumentParser def command_recompose(args): @@ -46,7 +46,7 @@ def main(argv): usage = "usage: %s COMMAND [args]" % \ os.path.basename(argv[0]) - parser = ArgumentParser(description=description, usage=usage) + parser = argparse.ArgumentParser(description=description, usage=usage) options, args = parser.parse_known_args(argv[1:]) if not args: diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index b69aa24..e75bb0a 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -3,6 +3,7 @@ from __future__ import print_function +import argparse import locale import platform import sys @@ -19,7 +20,6 @@ portage.proxy.lazyimport.lazyimport(globals(), '_emerge.is_valid_package_atom:insert_category_into_atom' ) from portage import os -from portage.util._argparse import ArgumentParser from portage.sync import _SUBMODULE_PATH_MAP if sys.hexversion >= 0x3000000: @@ -705,7 +705,7 @@ def parse_opts(tmpcmdline, silent=False): }, } - parser = ArgumentParser(add_help=False) + parser = argparse.ArgumentParser(add_help=False) for action_opt in actions: parser.add_argument("--" + action_opt, action="store_true", diff --git a/pym/portage/_emirrordist/main.py b/pym/portage/_emirrordist/main.py index ce92c2a..7378ac7 100644 --- a/pym/portage/_emirrordist/main.py +++ b/pym/portage/_emirrordist/main.py @@ -1,13 +1,13 @@ # Copyright 2013-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +import argparse import logging import sys import portage from portage import os from portage.util import normalize_path, writemsg_level, _recursive_file_list -from portage.util._argparse import ArgumentParser from portage.util._async.run_main_scheduler import run_main_scheduler from portage.util._async.SchedulerInterface import SchedulerInterface from portage.util._eventloop.global_event_loop import global_event_loop @@ -202,7 +202,7 @@ def parse_args(args): description = "emirrordist - a fetch tool for mirroring " \ "of package distfiles" usage = "emirrordist [options] <action>" - parser = ArgumentParser(description=description, usage=usage) + parser = argparse.ArgumentParser(description=description, usage=usage) actions = parser.add_argument_group('Actions') actions.add_argument("--version", diff --git a/pym/portage/emaint/main.py b/pym/portage/emaint/main.py index e71efe8..65e3545 100644 --- a/pym/portage/emaint/main.py +++ b/pym/portage/emaint/main.py @@ -3,7 +3,7 @@ from __future__ import print_function - +import argparse import sys import textwrap @@ -12,7 +12,6 @@ from portage import os from portage.module import Modules from portage.progress import ProgressBar from portage.emaint.defaults import DEFAULT_OPTIONS -from portage.util._argparse import ArgumentParser class OptionItem(object): """class to hold module ArgumentParser options data @@ -169,8 +168,7 @@ def emaint_main(myargv): module_names = module_controller.module_names[:] module_names.insert(0, "all") - - parser = ArgumentParser(usage=usage(module_controller)) + parser = argparse.ArgumentParser(usage=usage(module_controller)) # add default options parser_options = [] for opt in DEFAULT_OPTIONS: diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py index 159b9c0..e8132c2 100644 --- a/pym/portage/sync/controller.py +++ b/pym/portage/sync/controller.py @@ -13,7 +13,6 @@ import portage from portage import os from portage.progress import ProgressBar #from portage.emaint.defaults import DEFAULT_OPTIONS -#from portage.util._argparse import ArgumentParser from portage.util import writemsg, writemsg_level from portage.output import create_color_func good = create_color_func("GOOD") diff --git a/pym/portage/tests/__init__.py b/pym/portage/tests/__init__.py index 708dd59..bf681c4 100644 --- a/pym/portage/tests/__init__.py +++ b/pym/portage/tests/__init__.py @@ -4,6 +4,7 @@ from __future__ import print_function +import argparse import sys import time import unittest @@ -27,7 +28,6 @@ from portage import _encodings from portage import _unicode_decode from portage.const import (EPREFIX, GLOBAL_CONFIG_PATH, PORTAGE_BASE_PATH, PORTAGE_BIN_PATH) -from portage.util._argparse import ArgumentParser if portage._not_installed: @@ -48,7 +48,7 @@ def main(): basedir = os.path.dirname(os.path.realpath(__file__)) usage = "usage: %s [options] [tests to run]" % os.path.basename(sys.argv[0]) - parser = ArgumentParser(usage=usage) + parser = argparse.ArgumentParser(usage=usage) parser.add_argument("-l", "--list", help="list all tests", action="store_true", dest="list_tests") options, args = parser.parse_known_args(args=sys.argv) diff --git a/pym/portage/util/_argparse.py b/pym/portage/util/_argparse.py deleted file mode 100644 index 6ca7852..0000000 --- a/pym/portage/util/_argparse.py +++ /dev/null @@ -1,42 +0,0 @@ -# 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 OptionGroup, OptionParser - - from portage.localization import _ - - 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._parser = parser - self.add_argument = parser.add_option - self.print_help = parser.print_help - self.error = parser.error - - def add_argument_group(self, title=None, **kwargs): - optiongroup = OptionGroup(self._parser, title, **kwargs) - self._parser.add_option_group(optiongroup) - return _ArgumentGroup(optiongroup) - - def parse_known_args(self, args=None, namespace=None): - return self._parser.parse_args(args, namespace) - - def parse_args(self, args=None, namespace=None): - args, argv = self.parse_known_args(args, namespace) - if argv: - msg = _('unrecognized arguments: %s') - self.error(msg % ' '.join(argv)) - return args - - class _ArgumentGroup(object): - def __init__(self, optiongroup): - self.add_argument = optiongroup.add_option diff --git a/pym/repoman/argparser.py b/pym/repoman/argparser.py index 0f34ed0..2d56a87 100644 --- a/pym/repoman/argparser.py +++ b/pym/repoman/argparser.py @@ -4,6 +4,7 @@ """This module contains functions used in Repoman to parse CLI arguments.""" +import argparse import logging import sys @@ -12,7 +13,6 @@ from repoman._portage import portage from portage import _unicode_decode from portage import util -from portage.util._argparse import ArgumentParser def parse_args(argv, qahelp, repoman_default_opts): @@ -47,7 +47,7 @@ def parse_args(argv, qahelp, repoman_default_opts): output_keys = sorted(output_choices) - parser = ArgumentParser( + parser = argparse.ArgumentParser( usage="repoman [options] [mode]", description="Modes: %s" % " | ".join(mode_keys), epilog="For more help consult the man page.") -- 2.5.2