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

Side by Side Diff: third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/help_command.py

Issue 2276713002: Remove Command.bind_to_tool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2016 Google Inc. All rights reserved. 1 # Copyright (c) 2016 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 30 matching lines...) Expand all
41 optparse.make_option( 41 optparse.make_option(
42 "-a", 42 "-a",
43 "--all-commands", 43 "--all-commands",
44 action="store_true", 44 action="store_true",
45 dest="show_all_commands", 45 dest="show_all_commands",
46 help="Print all available commands"), 46 help="Print all available commands"),
47 ] 47 ]
48 super(HelpCommand, self).__init__(options) 48 super(HelpCommand, self).__init__(options)
49 # A hack used to pass --all-commands to _help_epilog even though it's ca lled by the OptionParser. 49 # A hack used to pass --all-commands to _help_epilog even though it's ca lled by the OptionParser.
50 self.show_all_commands = False 50 self.show_all_commands = False
51 self._tool = None
51 52
52 def _help_epilog(self): 53 def _help_epilog(self):
53 # Only show commands which are relevant to this checkout's SCM system. Might this be confusing to some users? 54 # Only show commands which are relevant to this checkout's SCM system. Might this be confusing to some users?
54 if self.show_all_commands: 55 if self.show_all_commands:
55 epilog = "All %prog commands:\n" 56 epilog = "All %prog commands:\n"
56 relevant_commands = self._tool.commands[:] 57 relevant_commands = self._tool.commands[:]
57 else: 58 else:
58 epilog = "Common %prog commands:\n" 59 epilog = "Common %prog commands:\n"
59 relevant_commands = filter(self._tool.should_show_in_main_help, self ._tool.commands) 60 relevant_commands = filter(self._tool.should_show_in_main_help, self ._tool.commands)
60 longest_name_length = max(len(command.name) for command in relevant_comm ands) 61 longest_name_length = max(len(command.name) for command in relevant_comm ands)
61 relevant_commands.sort(lambda a, b: cmp(a.name, b.name)) 62 relevant_commands.sort(lambda a, b: cmp(a.name, b.name))
62 command_help_texts = [" %s %s\n" % (command.name.ljust(longest_name_ length), command.help_text) 63 command_help_texts = [" %s %s\n" % (command.name.ljust(longest_name_ length), command.help_text)
63 for command in relevant_commands] 64 for command in relevant_commands]
64 epilog += "%s\n" % "".join(command_help_texts) 65 epilog += "%s\n" % "".join(command_help_texts)
65 epilog += "See '%prog help --all-commands' to list all commands.\n" 66 epilog += "See '%prog help --all-commands' to list all commands.\n"
66 epilog += "See '%prog help COMMAND' for more information on a specific c ommand.\n" 67 epilog += "See '%prog help COMMAND' for more information on a specific c ommand.\n"
67 return epilog.replace("%prog", self._tool.name()) # Use of %prog here m imics OptionParser.expand_prog_name(). 68 return epilog.replace("%prog", self._tool.name()) # Use of %prog here m imics OptionParser.expand_prog_name().
68 69
69 # FIXME: This is a hack so that we don't show --all-commands as a global opt ion: 70 # FIXME: This is a hack so that we don't show --all-commands as a global opt ion:
70 def _remove_help_options(self): 71 def _remove_help_options(self):
71 for option in self.options: 72 for option in self.options:
72 self.option_parser.remove_option(option.get_opt_string()) 73 self.option_parser.remove_option(option.get_opt_string())
73 74
74 def execute(self, options, args, tool): 75 def execute(self, options, args, tool):
76 self._tool = tool
75 if args: 77 if args:
76 command = self._tool.command_by_name(args[0]) 78 command = self._tool.command_by_name(args[0])
77 if command: 79 if command:
78 print command.standalone_help() 80 print command.standalone_help()
79 return 0 81 return 0
80 82
81 self.show_all_commands = options.show_all_commands 83 self.show_all_commands = options.show_all_commands
82 self._remove_help_options() 84 self._remove_help_options()
83 self.option_parser.print_help() 85 self.option_parser.print_help()
84 return 0 86 return 0
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698