| Index: native_client_sdk/src/build_tools/sdk_tools/sdk_update_main.py
|
| diff --git a/native_client_sdk/src/build_tools/sdk_tools/sdk_update_main.py b/native_client_sdk/src/build_tools/sdk_tools/sdk_update_main.py
|
| index 08329466c4d4b26c4af9af7639ae48aeffba10b9..98c54e13225ddf5c916c0daee25456afb8f415b0 100755
|
| --- a/native_client_sdk/src/build_tools/sdk_tools/sdk_update_main.py
|
| +++ b/native_client_sdk/src/build_tools/sdk_tools/sdk_update_main.py
|
| @@ -9,7 +9,7 @@ import config
|
| import cStringIO
|
| import download
|
| import logging
|
| -import optparse
|
| +import argparse
|
| import os
|
| import re
|
| import sdk_update_common
|
| @@ -172,23 +172,19 @@ def LoadCombinedRemoteManifest(default_manifest_url, cfg):
|
| @usage('<bundle names...>')
|
| def CMDinfo(parser, args):
|
| """display information about a bundle"""
|
| - options, args = parser.parse_args(args)
|
| - if not args:
|
| - parser.error('No bundles given')
|
| - return 0
|
| + parser.add_argument('bundles', nargs='+')
|
| + options = parser.parse_args(args)
|
| cfg = LoadConfig()
|
| remote_manifest = LoadCombinedRemoteManifest(options.manifest_url, cfg)
|
| - command.info.Info(remote_manifest, args)
|
| + command.info.Info(remote_manifest, options.bundles)
|
| return 0
|
|
|
|
|
| def CMDlist(parser, args):
|
| """list all available bundles"""
|
| - parser.add_option('-r', '--revision', action='store_true',
|
| + parser.add_argument('-r', '--revision', action='store_true',
|
| help='display revision numbers')
|
| - options, args = parser.parse_args(args)
|
| - if args:
|
| - parser.error('Unsupported argument(s): %s' % ', '.join(args))
|
| + options = parser.parse_args(args)
|
| local_manifest = LoadLocalManifest()
|
| cfg = LoadConfig()
|
| remote_manifest = LoadCombinedRemoteManifest(options.manifest_url, cfg)
|
| @@ -199,22 +195,22 @@ def CMDlist(parser, args):
|
| @usage('<bundle names...>')
|
| def CMDupdate(parser, args):
|
| """update a bundle in the SDK to the latest version"""
|
| - parser.add_option('-F', '--force', action='store_true',
|
| + parser.add_argument('-F', '--force', action='store_true',
|
| help='Force updating bundles that already exist. The bundle will not be '
|
| 'updated if the local revision matches the remote revision.')
|
| - options, args = parser.parse_args(args)
|
| + parser.add_argument('bundles', nargs='*',
|
| + help='bundles to update',
|
| + default=[command.update.RECOMMENDED])
|
| + options = parser.parse_args(args)
|
| local_manifest = LoadLocalManifest()
|
| cfg = LoadConfig()
|
| remote_manifest = LoadCombinedRemoteManifest(options.manifest_url, cfg)
|
|
|
| - if not args:
|
| - args = [command.update.RECOMMENDED]
|
| -
|
| try:
|
| delegate = command.update.RealUpdateDelegate(USER_DATA_DIR,
|
| DEFAULT_SDK_ROOT, cfg)
|
| - command.update.Update(delegate, remote_manifest, local_manifest, args,
|
| - options.force)
|
| + command.update.Update(delegate, remote_manifest, local_manifest,
|
| + options.bundles, options.force)
|
| finally:
|
| # Always write out the local manifest, we may have successfully updated one
|
| # or more bundles before failing.
|
| @@ -238,12 +234,10 @@ def CMDinstall(parser, args):
|
| @usage('<bundle names...>')
|
| def CMDuninstall(parser, args):
|
| """uninstall the given bundles"""
|
| - _, args = parser.parse_args(args)
|
| - if not args:
|
| - parser.error('No bundles given')
|
| - return 0
|
| + parser.add_argument('bundles', nargs='+', help='bundles to uninstall')
|
| + options = parser.parse_args(args)
|
| local_manifest = LoadLocalManifest()
|
| - command.uninstall.Uninstall(DEFAULT_SDK_ROOT, local_manifest, args)
|
| + command.uninstall.Uninstall(DEFAULT_SDK_ROOT, local_manifest, options.bundles)
|
| WriteLocalManifest(local_manifest)
|
| return 0
|
|
|
| @@ -255,18 +249,15 @@ def CMDreinstall(parser, args):
|
| Note that if there is an update to a given bundle, reinstall will not
|
| automatically update to the newest version.
|
| """
|
| - _, args = parser.parse_args(args)
|
| + parser.add_argument('bundles', nargs='+')
|
| + options = parser.parse_args(args)
|
| local_manifest = LoadLocalManifest()
|
|
|
| - if not args:
|
| - parser.error('No bundles given')
|
| - return 0
|
| -
|
| cfg = LoadConfig()
|
| try:
|
| delegate = command.update.RealUpdateDelegate(USER_DATA_DIR,
|
| DEFAULT_SDK_ROOT, cfg)
|
| - command.update.Reinstall(delegate, local_manifest, args)
|
| + command.update.Reinstall(delegate, local_manifest, options.bundles)
|
| finally:
|
| # Always write out the local manifest, we may have successfully updated one
|
| # or more bundles before failing.
|
| @@ -282,14 +273,14 @@ def CMDreinstall(parser, args):
|
|
|
| def CMDsources(parser, args):
|
| """manage external package sources"""
|
| - parser.add_option('-a', '--add', dest='url_to_add',
|
| + parser.add_argument('-a', '--add', dest='url_to_add',
|
| help='Add an additional package source')
|
| - parser.add_option(
|
| + parser.add_argument(
|
| '-r', '--remove', dest='url_to_remove',
|
| help='Remove package source (use \'all\' for all additional sources)')
|
| - parser.add_option('-l', '--list', dest='do_list', action='store_true',
|
| + parser.add_argument('-l', '--list', dest='do_list', action='store_true',
|
| help='List additional package sources')
|
| - options, args = parser.parse_args(args)
|
| + options = parser.parse_args(args)
|
|
|
| cfg = LoadConfig(True)
|
| write_config = False
|
| @@ -312,16 +303,17 @@ def CMDsources(parser, args):
|
|
|
| def CMDversion(parser, args):
|
| """display version information"""
|
| - _, _ = parser.parse_args(args)
|
| + parser.parse_args(args)
|
| print "Native Client SDK Updater, version r%s" % REVISION
|
| return 0
|
|
|
|
|
| def CMDhelp(parser, args):
|
| """print list of commands or help for a specific command"""
|
| - _, args = parser.parse_args(args)
|
| - if len(args) == 1:
|
| - return main(args + ['--help'])
|
| + parser.add_argument('command', nargs='?', help=argparse.SUPPRESS)
|
| + options = parser.parse_args(args)
|
| + if options.command:
|
| + return main(options.command + ['--help'])
|
| parser.print_help()
|
| return 0
|
|
|
| @@ -339,7 +331,7 @@ def GenUsage(parser, cmd):
|
| else:
|
| # OptParser.description prefer nicely non-formatted strings.
|
| parser.description = re.sub('[\r\n ]{2,}', ' ', obj.__doc__)
|
| - parser.set_usage('usage: %%prog %s [options] %s' % (cmd, more))
|
| + parser.usage = '%%(prog)s %s [options] %s' % (cmd, more)
|
|
|
|
|
| def UpdateSDKTools(options, args):
|
| @@ -376,19 +368,19 @@ def main(argv):
|
| for fn in cmds]))
|
|
|
| # Create the option parse and add --verbose support.
|
| - parser = optparse.OptionParser()
|
| - parser.add_option(
|
| + parser = argparse.ArgumentParser(description=__doc__)
|
| + parser.add_argument(
|
| '-v', '--verbose', action='count', default=0,
|
| help='Use 2 times for more debugging info')
|
| - parser.add_option('-U', '--manifest-url', dest='manifest_url',
|
| + parser.add_argument('-U', '--manifest-url', dest='manifest_url',
|
| default=GSTORE_URL + '/nacl/nacl_sdk/' + MANIFEST_FILENAME,
|
| metavar='URL', help='override the default URL for the NaCl manifest file')
|
| - parser.add_option('--update-sdk-tools', action='store_true',
|
| - dest='update_sdk_tools', help=optparse.SUPPRESS_HELP)
|
| + parser.add_argument('--update-sdk-tools', action='store_true',
|
| + dest='update_sdk_tools', help=argparse.SUPPRESS)
|
|
|
| old_parser_args = parser.parse_args
|
| def Parse(args):
|
| - options, args = old_parser_args(args)
|
| + options = old_parser_args(args)
|
| if options.verbose >= 2:
|
| loglevel = logging.DEBUG
|
| elif options.verbose:
|
| @@ -396,15 +388,15 @@ def main(argv):
|
| else:
|
| loglevel = logging.WARNING
|
|
|
| - fmt = '%(levelname)s:%(message)s'
|
| - logging.basicConfig(stream=sys.stdout, level=loglevel, format=fmt)
|
| + logging.basicConfig(stream=sys.stdout, level=loglevel,
|
| + format='%(levelname)s:%(message)s')
|
|
|
| # If --update-sdk-tools is passed, circumvent any other command running.
|
| if options.update_sdk_tools:
|
| UpdateSDKTools(options, args)
|
| sys.exit(1)
|
|
|
| - return options, args
|
| + return options
|
| parser.parse_args = Parse
|
|
|
| if argv:
|
|
|