Gentoo Archives: gentoo-portage-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [PATCH 2/2] _argparse: punt the module
Date: Fri, 30 Oct 2015 03:57:33
Message-Id: 1446177436-28621-2-git-send-email-vapier@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH 1/2] chpathtool: drop optparse compat logic by Mike Frysinger
1 Since we don't support python 2.6 anymore, there's no need to wrap
2 argparse, so switch all the users to the standard library for it.
3 ---
4 bin/binhost-snapshot | 4 ++--
5 bin/ebuild | 4 ++--
6 bin/egencache | 4 ++--
7 bin/fixpackages | 4 ++--
8 bin/glsa-check | 4 ++--
9 bin/install.py | 4 ++--
10 bin/portageq | 6 +++---
11 bin/quickpkg | 4 ++--
12 bin/xattr-helper.py | 4 ++--
13 bin/xpak-helper.py | 4 ++--
14 pym/_emerge/main.py | 4 ++--
15 pym/portage/_emirrordist/main.py | 4 ++--
16 pym/portage/emaint/main.py | 6 ++----
17 pym/portage/sync/controller.py | 1 -
18 pym/portage/tests/__init__.py | 4 ++--
19 pym/portage/util/_argparse.py | 42 ----------------------------------------
20 pym/repoman/argparser.py | 4 ++--
21 17 files changed, 31 insertions(+), 76 deletions(-)
22 delete mode 100644 pym/portage/util/_argparse.py
23
24 diff --git a/bin/binhost-snapshot b/bin/binhost-snapshot
25 index 3a34643..4130e75 100755
26 --- a/bin/binhost-snapshot
27 +++ b/bin/binhost-snapshot
28 @@ -2,6 +2,7 @@
29 # Copyright 2010-2014 Gentoo Foundation
30 # Distributed under the terms of the GNU General Public License v2
31
32 +import argparse
33 import io
34 import os
35 import sys
36 @@ -17,7 +18,6 @@ if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), ".porta
37 sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
38 import portage
39 portage._internal_caller = True
40 -from portage.util._argparse import ArgumentParser
41
42 def parse_args(argv):
43 prog_name = os.path.basename(argv[0])
44 @@ -45,7 +45,7 @@ def parse_args(argv):
45 "write Packages index with\n" + \
46 " snapshot_uri"
47
48 - parser = ArgumentParser(usage=usage)
49 + parser = argparse.ArgumentParser(usage=usage)
50 parser.add_argument('--hardlinks',
51 help='create hardlinks (y or n, default is y)',
52 choices=('y', 'n'),
53 diff --git a/bin/ebuild b/bin/ebuild
54 index ad52ed5..59fced0 100755
55 --- a/bin/ebuild
56 +++ b/bin/ebuild
57 @@ -4,6 +4,7 @@
58
59 from __future__ import print_function
60
61 +import argparse
62 import platform
63 import signal
64 import sys
65 @@ -48,13 +49,12 @@ from portage import _shell_quote
66 from portage import _unicode_decode
67 from portage import _unicode_encode
68 from portage.const import VDB_PATH
69 -from portage.util._argparse import ArgumentParser
70 from _emerge.Package import Package
71 from _emerge.RootConfig import RootConfig
72
73 description = "See the ebuild(1) man page for more info"
74 usage = "Usage: ebuild <ebuild file> <command> [command] ..."
75 -parser = ArgumentParser(description=description, usage=usage)
76 +parser = argparse.ArgumentParser(description=description, usage=usage)
77
78 force_help = "When used together with the digest or manifest " + \
79 "command, this option forces regeneration of digests for all " + \
80 diff --git a/bin/egencache b/bin/egencache
81 index 67fca73..6407a44 100755
82 --- a/bin/egencache
83 +++ b/bin/egencache
84 @@ -5,6 +5,7 @@
85 # unicode_literals for compat with TextIOWrapper in Python 2
86 from __future__ import print_function, unicode_literals
87
88 +import argparse
89 import platform
90 import signal
91 import stat
92 @@ -54,7 +55,6 @@ from portage.const import TIMESTAMP_FORMAT
93 from portage.manifest import guessManifestFileType
94 from portage.package.ebuild._parallel_manifest.ManifestScheduler import ManifestScheduler
95 from portage.util import cmp_sort_key, writemsg_level
96 -from portage.util._argparse import ArgumentParser
97 from portage.util._async.run_main_scheduler import run_main_scheduler
98 from portage.util._eventloop.global_event_loop import global_event_loop
99 from portage import cpv_getkey
100 @@ -81,7 +81,7 @@ if sys.hexversion >= 0x3000000:
101
102 def parse_args(args):
103 usage = "egencache [options] <action> ... [atom] ..."
104 - parser = ArgumentParser(usage=usage)
105 + parser = argparse.ArgumentParser(usage=usage)
106
107 actions = parser.add_argument_group('Actions')
108 actions.add_argument("--update",
109 diff --git a/bin/fixpackages b/bin/fixpackages
110 index 8a0c444..70ca9fc 100755
111 --- a/bin/fixpackages
112 +++ b/bin/fixpackages
113 @@ -4,6 +4,7 @@
114
115 from __future__ import print_function
116
117 +import argparse
118 import os
119 import sys
120
121 @@ -14,7 +15,6 @@ import portage
122 portage._internal_caller = True
123 from portage import os
124 from portage.output import EOutput
125 -from portage.util._argparse import ArgumentParser
126 from textwrap import wrap
127 from portage._global_updates import _global_updates
128 mysettings = portage.settings
129 @@ -25,7 +25,7 @@ description = """The fixpackages program performs package move updates on
130 configuration files, installed packages, and binary packages."""
131 description = " ".join(description.split())
132
133 -parser = ArgumentParser(description=description)
134 +parser = argparse.ArgumentParser(description=description)
135 parser.parse_args()
136
137 if mysettings['ROOT'] != "/":
138 diff --git a/bin/glsa-check b/bin/glsa-check
139 index 94dea73..84481d8 100755
140 --- a/bin/glsa-check
141 +++ b/bin/glsa-check
142 @@ -4,6 +4,7 @@
143
144 from __future__ import print_function
145
146 +import argparse
147 import sys
148 import codecs
149
150 @@ -14,7 +15,6 @@ import portage
151 portage._internal_caller = True
152 from portage import os
153 from portage.output import green, red, nocolor, white
154 -from portage.util._argparse import ArgumentParser
155
156 __program__ = "glsa-check"
157 __author__ = "Marius Mauch <genone@g.o>"
158 @@ -24,7 +24,7 @@ __version__ = "1.0"
159 epilog = "glsa-list can contain an arbitrary number of GLSA ids," \
160 " filenames containing GLSAs or the special identifiers" \
161 " 'all', 'new' and 'affected'"
162 -parser = ArgumentParser(usage=__program__ + " <option> [glsa-list]",
163 +parser = argparse.ArgumentParser(usage=__program__ + " <option> [glsa-list]",
164 epilog=epilog)
165
166 modes = parser.add_argument_group("Modes")
167 diff --git a/bin/install.py b/bin/install.py
168 index 5bbe97b..d3789ed 100755
169 --- a/bin/install.py
170 +++ b/bin/install.py
171 @@ -2,6 +2,7 @@
172 # Copyright 2013-2014 Gentoo Foundation
173 # Distributed under the terms of the GNU General Public License v2
174
175 +import argparse
176 import os
177 import stat
178 import sys
179 @@ -9,7 +10,6 @@ import subprocess
180 import traceback
181
182 import portage
183 -from portage.util._argparse import ArgumentParser
184 from portage.util.movefile import _copyxattr
185 from portage.exception import OperationNotSupported
186
187 @@ -24,7 +24,7 @@ def parse_args(args):
188 Returns:
189 tuple of the Namespace of parsed options, and a list of order parameters
190 """
191 - parser = ArgumentParser(add_help=False)
192 + parser = argparse.ArgumentParser(add_help=False)
193
194 parser.add_argument(
195 "-b",
196 diff --git a/bin/portageq b/bin/portageq
197 index 649ee04..548d090 100755
198 --- a/bin/portageq
199 +++ b/bin/portageq
200 @@ -4,6 +4,7 @@
201
202 from __future__ import print_function, unicode_literals
203
204 +import argparse
205 import signal
206 import sys
207 # This block ensures that ^C interrupts are handled quietly.
208 @@ -44,7 +45,6 @@ portage._internal_caller = True
209 from portage import os
210 from portage.eapi import eapi_has_repo_deps
211 from portage.util import writemsg, writemsg_stdout
212 -from portage.util._argparse import ArgumentParser
213 portage.proxy.lazyimport.lazyimport(globals(),
214 're',
215 'subprocess',
216 @@ -1310,7 +1310,7 @@ def usage(argv):
217 print()
218 print('Pkgcore pquery compatible options:')
219 print()
220 - parser = ArgumentParser(add_help=False,
221 + parser = argparse.ArgumentParser(add_help=False,
222 usage='portageq pquery [options] [atom ...]')
223 add_pquery_arguments(parser)
224 parser.print_help()
225 @@ -1342,7 +1342,7 @@ def main(argv):
226 if nocolor in ('yes', 'true'):
227 portage.output.nocolor()
228
229 - parser = ArgumentParser(add_help=False)
230 + parser = argparse.ArgumentParser(add_help=False)
231
232 # used by envvar
233 parser.add_argument("-v", dest="verbose", action="store_true")
234 diff --git a/bin/quickpkg b/bin/quickpkg
235 index 262fda4..4f26ee9 100755
236 --- a/bin/quickpkg
237 +++ b/bin/quickpkg
238 @@ -4,6 +4,7 @@
239
240 from __future__ import division, print_function
241
242 +import argparse
243 import errno
244 import math
245 import signal
246 @@ -26,7 +27,6 @@ xattr = _xattr.xattr
247 from portage.dbapi.vartree import dblink, tar_contents
248 from portage.checksum import perform_md5
249 from portage._sets import load_default_config, SETPREFIX
250 -from portage.util._argparse import ArgumentParser
251
252 def quickpkg_atom(options, infos, arg, eout):
253 settings = portage.settings
254 @@ -302,7 +302,7 @@ def quickpkg_main(options, args, eout):
255
256 if __name__ == "__main__":
257 usage = "quickpkg [options] <list of package atoms or package sets>"
258 - parser = ArgumentParser(usage=usage)
259 + parser = argparse.ArgumentParser(usage=usage)
260 parser.add_argument("--umask",
261 default="0077",
262 help="umask used during package creation (default is 0077)")
263 diff --git a/bin/xattr-helper.py b/bin/xattr-helper.py
264 index 19f25f9..b5faed0 100755
265 --- a/bin/xattr-helper.py
266 +++ b/bin/xattr-helper.py
267 @@ -13,12 +13,12 @@ https://en.wikipedia.org/wiki/Extended_file_attributes
268 __doc__ = doc
269
270
271 +import argparse
272 import array
273 import os
274 import re
275 import sys
276
277 -from portage.util._argparse import ArgumentParser
278 from portage.util._xattr import xattr
279
280
281 @@ -140,7 +140,7 @@ def restore_xattrs(file_in):
282
283 def main(argv):
284
285 - parser = ArgumentParser(description=doc)
286 + parser = argparse.ArgumentParser(description=doc)
287 parser.add_argument('paths', nargs='*', default=[])
288
289 actions = parser.add_argument_group('Actions')
290 diff --git a/bin/xpak-helper.py b/bin/xpak-helper.py
291 index c4391cd..8c965ec 100755
292 --- a/bin/xpak-helper.py
293 +++ b/bin/xpak-helper.py
294 @@ -2,11 +2,11 @@
295 # Copyright 2009-2014 Gentoo Foundation
296 # Distributed under the terms of the GNU General Public License v2
297
298 +import argparse
299 import sys
300 import portage
301 portage._internal_caller = True
302 from portage import os
303 -from portage.util._argparse import ArgumentParser
304
305 def command_recompose(args):
306
307 @@ -46,7 +46,7 @@ def main(argv):
308 usage = "usage: %s COMMAND [args]" % \
309 os.path.basename(argv[0])
310
311 - parser = ArgumentParser(description=description, usage=usage)
312 + parser = argparse.ArgumentParser(description=description, usage=usage)
313 options, args = parser.parse_known_args(argv[1:])
314
315 if not args:
316 diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
317 index b69aa24..e75bb0a 100644
318 --- a/pym/_emerge/main.py
319 +++ b/pym/_emerge/main.py
320 @@ -3,6 +3,7 @@
321
322 from __future__ import print_function
323
324 +import argparse
325 import locale
326 import platform
327 import sys
328 @@ -19,7 +20,6 @@ portage.proxy.lazyimport.lazyimport(globals(),
329 '_emerge.is_valid_package_atom:insert_category_into_atom'
330 )
331 from portage import os
332 -from portage.util._argparse import ArgumentParser
333 from portage.sync import _SUBMODULE_PATH_MAP
334
335 if sys.hexversion >= 0x3000000:
336 @@ -705,7 +705,7 @@ def parse_opts(tmpcmdline, silent=False):
337 },
338 }
339
340 - parser = ArgumentParser(add_help=False)
341 + parser = argparse.ArgumentParser(add_help=False)
342
343 for action_opt in actions:
344 parser.add_argument("--" + action_opt, action="store_true",
345 diff --git a/pym/portage/_emirrordist/main.py b/pym/portage/_emirrordist/main.py
346 index ce92c2a..7378ac7 100644
347 --- a/pym/portage/_emirrordist/main.py
348 +++ b/pym/portage/_emirrordist/main.py
349 @@ -1,13 +1,13 @@
350 # Copyright 2013-2014 Gentoo Foundation
351 # Distributed under the terms of the GNU General Public License v2
352
353 +import argparse
354 import logging
355 import sys
356
357 import portage
358 from portage import os
359 from portage.util import normalize_path, writemsg_level, _recursive_file_list
360 -from portage.util._argparse import ArgumentParser
361 from portage.util._async.run_main_scheduler import run_main_scheduler
362 from portage.util._async.SchedulerInterface import SchedulerInterface
363 from portage.util._eventloop.global_event_loop import global_event_loop
364 @@ -202,7 +202,7 @@ def parse_args(args):
365 description = "emirrordist - a fetch tool for mirroring " \
366 "of package distfiles"
367 usage = "emirrordist [options] <action>"
368 - parser = ArgumentParser(description=description, usage=usage)
369 + parser = argparse.ArgumentParser(description=description, usage=usage)
370
371 actions = parser.add_argument_group('Actions')
372 actions.add_argument("--version",
373 diff --git a/pym/portage/emaint/main.py b/pym/portage/emaint/main.py
374 index e71efe8..65e3545 100644
375 --- a/pym/portage/emaint/main.py
376 +++ b/pym/portage/emaint/main.py
377 @@ -3,7 +3,7 @@
378
379 from __future__ import print_function
380
381 -
382 +import argparse
383 import sys
384 import textwrap
385
386 @@ -12,7 +12,6 @@ from portage import os
387 from portage.module import Modules
388 from portage.progress import ProgressBar
389 from portage.emaint.defaults import DEFAULT_OPTIONS
390 -from portage.util._argparse import ArgumentParser
391
392 class OptionItem(object):
393 """class to hold module ArgumentParser options data
394 @@ -169,8 +168,7 @@ def emaint_main(myargv):
395 module_names = module_controller.module_names[:]
396 module_names.insert(0, "all")
397
398 -
399 - parser = ArgumentParser(usage=usage(module_controller))
400 + parser = argparse.ArgumentParser(usage=usage(module_controller))
401 # add default options
402 parser_options = []
403 for opt in DEFAULT_OPTIONS:
404 diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py
405 index 159b9c0..e8132c2 100644
406 --- a/pym/portage/sync/controller.py
407 +++ b/pym/portage/sync/controller.py
408 @@ -13,7 +13,6 @@ import portage
409 from portage import os
410 from portage.progress import ProgressBar
411 #from portage.emaint.defaults import DEFAULT_OPTIONS
412 -#from portage.util._argparse import ArgumentParser
413 from portage.util import writemsg, writemsg_level
414 from portage.output import create_color_func
415 good = create_color_func("GOOD")
416 diff --git a/pym/portage/tests/__init__.py b/pym/portage/tests/__init__.py
417 index 708dd59..bf681c4 100644
418 --- a/pym/portage/tests/__init__.py
419 +++ b/pym/portage/tests/__init__.py
420 @@ -4,6 +4,7 @@
421
422 from __future__ import print_function
423
424 +import argparse
425 import sys
426 import time
427 import unittest
428 @@ -27,7 +28,6 @@ from portage import _encodings
429 from portage import _unicode_decode
430 from portage.const import (EPREFIX, GLOBAL_CONFIG_PATH, PORTAGE_BASE_PATH,
431 PORTAGE_BIN_PATH)
432 -from portage.util._argparse import ArgumentParser
433
434
435 if portage._not_installed:
436 @@ -48,7 +48,7 @@ def main():
437 basedir = os.path.dirname(os.path.realpath(__file__))
438
439 usage = "usage: %s [options] [tests to run]" % os.path.basename(sys.argv[0])
440 - parser = ArgumentParser(usage=usage)
441 + parser = argparse.ArgumentParser(usage=usage)
442 parser.add_argument("-l", "--list", help="list all tests",
443 action="store_true", dest="list_tests")
444 options, args = parser.parse_known_args(args=sys.argv)
445 diff --git a/pym/portage/util/_argparse.py b/pym/portage/util/_argparse.py
446 deleted file mode 100644
447 index 6ca7852..0000000
448 --- a/pym/portage/util/_argparse.py
449 +++ /dev/null
450 @@ -1,42 +0,0 @@
451 -# Copyright 2013 Gentoo Foundation
452 -# Distributed under the terms of the GNU General Public License v2
453 -
454 -__all__ = ['ArgumentParser']
455 -
456 -try:
457 - from argparse import ArgumentParser
458 -except ImportError:
459 - # Compatibility with Python 2.6 and 3.1
460 - from optparse import OptionGroup, OptionParser
461 -
462 - from portage.localization import _
463 -
464 - class ArgumentParser(object):
465 - def __init__(self, **kwargs):
466 - add_help = kwargs.pop("add_help", None)
467 - if add_help is not None:
468 - kwargs["add_help_option"] = add_help
469 - parser = OptionParser(**kwargs)
470 - self._parser = parser
471 - self.add_argument = parser.add_option
472 - self.print_help = parser.print_help
473 - self.error = parser.error
474 -
475 - def add_argument_group(self, title=None, **kwargs):
476 - optiongroup = OptionGroup(self._parser, title, **kwargs)
477 - self._parser.add_option_group(optiongroup)
478 - return _ArgumentGroup(optiongroup)
479 -
480 - def parse_known_args(self, args=None, namespace=None):
481 - return self._parser.parse_args(args, namespace)
482 -
483 - def parse_args(self, args=None, namespace=None):
484 - args, argv = self.parse_known_args(args, namespace)
485 - if argv:
486 - msg = _('unrecognized arguments: %s')
487 - self.error(msg % ' '.join(argv))
488 - return args
489 -
490 - class _ArgumentGroup(object):
491 - def __init__(self, optiongroup):
492 - self.add_argument = optiongroup.add_option
493 diff --git a/pym/repoman/argparser.py b/pym/repoman/argparser.py
494 index 0f34ed0..2d56a87 100644
495 --- a/pym/repoman/argparser.py
496 +++ b/pym/repoman/argparser.py
497 @@ -4,6 +4,7 @@
498
499 """This module contains functions used in Repoman to parse CLI arguments."""
500
501 +import argparse
502 import logging
503 import sys
504
505 @@ -12,7 +13,6 @@ from repoman._portage import portage
506
507 from portage import _unicode_decode
508 from portage import util
509 -from portage.util._argparse import ArgumentParser
510
511
512 def parse_args(argv, qahelp, repoman_default_opts):
513 @@ -47,7 +47,7 @@ def parse_args(argv, qahelp, repoman_default_opts):
514
515 output_keys = sorted(output_choices)
516
517 - parser = ArgumentParser(
518 + parser = argparse.ArgumentParser(
519 usage="repoman [options] [mode]",
520 description="Modes: %s" % " | ".join(mode_keys),
521 epilog="For more help consult the man page.")
522 --
523 2.5.2

Replies

Subject Author
Re: [gentoo-portage-dev] [PATCH 2/2] _argparse: punt the module Zac Medico <zmedico@g.o>