From: Zac Medico Date: Fri, 2 Aug 2013 23:27:17 +0000 (-0700) Subject: emirrordist: portage.util._argparse X-Git-Tag: v2.2.0_alpha192~11 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=12f541490c80c1d6cdc1c71d87eef98d715fa089;p=portage.git emirrordist: portage.util._argparse --- diff --git a/pym/portage/_emirrordist/main.py b/pym/portage/_emirrordist/main.py index f4824f6b5..becd11b7b 100644 --- a/pym/portage/_emirrordist/main.py +++ b/pym/portage/_emirrordist/main.py @@ -2,12 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 import logging -import optparse import sys import portage from portage import os from portage.util import normalize_path, writemsg_level +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 @@ -47,18 +47,21 @@ common_options = ( { "longopt" : "--jobs", "shortopt" : "-j", - "help" : "number of concurrent jobs to run" + "help" : "number of concurrent jobs to run", + "type" : int }, { "longopt" : "--load-average", "shortopt" : "-l", "help" : "load average limit for spawning of new concurrent jobs", - "metavar" : "LOAD" + "metavar" : "LOAD", + "type" : float }, { "longopt" : "--tries", "help" : "maximum number of tries per file, 0 means unlimited (default is 10)", - "default" : 10 + "default" : 10, + "type" : int }, { "longopt" : "--repo", @@ -87,7 +90,6 @@ common_options = ( "help" : "manually override \"strict\" FEATURES setting", "choices" : ("y", "n"), "metavar" : "", - "type" : "choice" }, { "longopt" : "--failure-log", @@ -178,7 +180,8 @@ common_options = ( "recycle dir, measured in seconds (defaults to " "the equivalent of 60 days)", "default" : 60 * seconds_per_day, - "metavar" : "SECONDS" + "metavar" : "SECONDS", + "type" : int }, { "longopt" : "--fetch-log-dir", @@ -198,18 +201,17 @@ def parse_args(args): description = "emirrordist - a fetch tool for mirroring " \ "of package distfiles" usage = "emirrordist [options] " - parser = optparse.OptionParser(description=description, usage=usage) + parser = ArgumentParser(description=description, usage=usage) - actions = optparse.OptionGroup(parser, 'Actions') - actions.add_option("--version", + actions = parser.add_argument_group('Actions') + actions.add_argument("--version", action="store_true", help="display portage version and exit") - actions.add_option("--mirror", + actions.add_argument("--mirror", action="store_true", help="mirror distfiles for the selected repository") - parser.add_option_group(actions) - common = optparse.OptionGroup(parser, 'Common options') + common = parser.add_argument_group('Common options') for opt_info in common_options: opt_pargs = [opt_info["longopt"]] if opt_info.get("shortopt"): @@ -218,10 +220,9 @@ def parse_args(args): for k in ("action", "choices", "default", "metavar", "type"): if k in opt_info: opt_kwargs[k] = opt_info[k] - common.add_option(*opt_pargs, **opt_kwargs) - parser.add_option_group(common) + common.add_argument(*opt_pargs, **opt_kwargs) - options, args = parser.parse_args(args) + options, args = parser.parse_known_args(args) return (parser, options, args)