Index: build/android/pylib/utils/command_option_parser.py |
diff --git a/build/android/pylib/utils/command_option_parser.py b/build/android/pylib/utils/command_option_parser.py |
deleted file mode 100644 |
index cf501d09df5ab619dc68790b115bb68ea0105191..0000000000000000000000000000000000000000 |
--- a/build/android/pylib/utils/command_option_parser.py |
+++ /dev/null |
@@ -1,75 +0,0 @@ |
-# Copyright 2013 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""An option parser which handles the first arg as a command. |
- |
-Add other nice functionality such as printing a list of commands |
-and an example in usage. |
-""" |
- |
-import optparse |
-import sys |
- |
- |
-class CommandOptionParser(optparse.OptionParser): |
- """Wrapper class for OptionParser to help with listing commands.""" |
- |
- def __init__(self, *args, **kwargs): |
- """Creates a CommandOptionParser. |
- |
- Args: |
- commands_dict: A dictionary mapping command strings to an object defining |
- - add_options_func: Adds options to the option parser |
- - run_command_func: Runs the command itself. |
- example: An example command. |
- everything else: Passed to optparse.OptionParser contructor. |
- """ |
- self.commands_dict = kwargs.pop('commands_dict', {}) |
- self.example = kwargs.pop('example', '') |
- if not 'usage' in kwargs: |
- kwargs['usage'] = 'Usage: %prog <command> [options]' |
- optparse.OptionParser.__init__(self, *args, **kwargs) |
- |
- #override |
- def get_usage(self): |
- normal_usage = optparse.OptionParser.get_usage(self) |
- command_list = self.get_command_list() |
- example = self.get_example() |
- return self.expand_prog_name(normal_usage + example + command_list) |
- |
- #override |
- def get_command_list(self): |
- if self.commands_dict.keys(): |
- return '\nCommands:\n %s\n' % '\n '.join( |
- sorted(self.commands_dict.keys())) |
- return '' |
- |
- def get_example(self): |
- if self.example: |
- return '\nExample:\n %s\n' % self.example |
- return '' |
- |
- |
-def ParseAndExecute(option_parser, argv=None): |
- """Parses options/args from argv and runs the specified command. |
- |
- Args: |
- option_parser: A CommandOptionParser object. |
- argv: Command line arguments. If None, automatically draw from sys.argv. |
- |
- Returns: |
- An exit code. |
- """ |
- if not argv: |
- argv = sys.argv |
- |
- if len(argv) < 2 or argv[1] not in option_parser.commands_dict: |
- # Parse args first, if this is '--help', optparse will print help and exit |
- option_parser.parse_args(argv) |
- option_parser.error('Invalid command.') |
- |
- cmd = option_parser.commands_dict[argv[1]] |
- cmd.add_options_func(option_parser) |
- options, args = option_parser.parse_args(argv) |
- return cmd.run_command_func(argv[1], options, args, option_parser) |