Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Unified Diff: native_client_sdk/src/build_tools/sdk_tools/sdk_update_main.py

Issue 720233003: [NaCl SDK] Convert python scripts from optparse to argparse. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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:

Powered by Google App Engine
This is Rietveld 408576698