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

Unified Diff: build/android/pylib/utils/command_option_parser.py

Issue 2392643003: Removes files from //build that we don't need (Closed)
Patch Set: Created 4 years, 2 months 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
« no previous file with comments | « build/android/pylib/utils/base_error.py ('k') | build/android/pylib/utils/device_temp_file.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « build/android/pylib/utils/base_error.py ('k') | build/android/pylib/utils/device_temp_file.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698