Chromium Code Reviews| Index: native_client_sdk/src/tools/run.py |
| diff --git a/native_client_sdk/src/tools/run.py b/native_client_sdk/src/tools/run.py |
| index cf8c208a4a0a79664288e4441d10ae6c587b5f5a..f06801db5ed43221bacc9626c7638aa1bcaaa993 100755 |
| --- a/native_client_sdk/src/tools/run.py |
| +++ b/native_client_sdk/src/tools/run.py |
| @@ -5,11 +5,16 @@ |
| """Launch a local server on an ephemeral port, then launch a executable that |
| points to that server. |
| + |
| +This command creates a local server on an ephemeral port, then runs: |
|
binji
2014/11/13 23:57:05
not true anymore. 5103 is the default
Sam Clegg
2014/11/30 17:55:14
Done.
|
| + <executable> <args..> http://localhost:<port>/<page>. |
| + |
| +Where <page> can be set by -P, or uses index.html by default. |
| """ |
| import copy |
| import getos |
| -import optparse |
| +import argparse |
|
binji
2014/11/13 23:57:04
sort
Sam Clegg
2014/11/30 17:55:14
Done.
|
| import os |
| import subprocess |
| import sys |
| @@ -22,30 +27,23 @@ if sys.version_info < (2, 6, 0): |
| def main(args): |
| - usage = """usage: %prog [options] -- executable args... |
| - |
| - This command creates a local server on an ephemeral port, then runs: |
| - <executable> <args..> http://localhost:<port>/<page>. |
| - |
| - Where <page> can be set by -P, or uses index.html by default.""" |
| - parser = optparse.OptionParser(usage) |
| - parser.add_option('-C', '--serve-dir', |
| + parser = argparse.ArgumentParser(description=__doc__) |
| + parser.add_argument('-C', '--serve-dir', |
| help='Serve files out of this directory.', |
| dest='serve_dir', default=os.path.abspath('.')) |
| - parser.add_option('-P', '--path', help='Path to load from local server.', |
| + parser.add_argument('-P', '--path', help='Path to load from local server.', |
| dest='path', default='index.html') |
| - parser.add_option('-D', |
| + parser.add_argument('-D', |
| help='Add debug command-line when launching the chrome debug.', |
| dest='debug', action='append', default=[]) |
| - parser.add_option('-E', |
| + parser.add_argument('-E', |
| help='Add environment variables when launching the executable.', |
| dest='environ', action='append', default=[]) |
| - parser.add_option('-p', '--port', |
| + parser.add_argument('-p', '--port', |
| help='Port to run server on. Default is 5103, ephemeral is 0.', |
| - type='int', default=5103) |
| - options, args = parser.parse_args(args) |
| - if not args: |
| - parser.error('No executable given.') |
| + type=int, default=5103) |
| + parser.add_argument('args', nargs='+', help='arguments for executable') |
|
binji
2014/11/13 23:57:05
this should probably be separated into two args: e
Sam Clegg
2014/11/30 17:55:14
Done.
|
| + options = parser.parse_args(args) |
| # 0 means use an ephemeral port. |
| server = httpd.LocalHTTPServer(options.serve_dir, options.port) |
| @@ -56,7 +54,7 @@ def main(args): |
| key, value = map(str.strip, e.split('=')) |
| env[key] = value |
| - cmd = args + [server.GetURL(options.path)] |
| + cmd = options.args + [server.GetURL(options.path)] |
| print 'Running: %s...' % (' '.join(cmd),) |
| process = subprocess.Popen(cmd, env=env) |