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

Unified Diff: tools/grit/grit/tool/interface.py

Issue 1410853008: Move grit from DEPS into src. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: webview licenses Created 5 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
« no previous file with comments | « tools/grit/grit/tool/diff_structures.py ('k') | tools/grit/grit/tool/menu_from_parts.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/grit/grit/tool/interface.py
diff --git a/tools/grit/grit/tool/interface.py b/tools/grit/grit/tool/interface.py
new file mode 100755
index 0000000000000000000000000000000000000000..bec4e1cc8d6caf7587f9511198e0b79d542eba31
--- /dev/null
+++ b/tools/grit/grit/tool/interface.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+# Copyright (c) 2012 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.
+
+'''Base class and interface for tools.
+'''
+
+
+class Tool(object):
+ '''Base class for all tools. Tools should use their docstring (i.e. the
+ class-level docstring) for the help they want to have printed when they
+ are invoked.'''
+
+ #
+ # Interface (abstract methods)
+ #
+
+ def ShortDescription(self):
+ '''Returns a short description of the functionality of the tool.'''
+ raise NotImplementedError()
+
+ def Run(self, global_options, my_arguments):
+ '''Runs the tool.
+
+ Args:
+ global_options: object grit_runner.Options
+ my_arguments: [arg1 arg2 ...]
+
+ Return:
+ 0 for success, non-0 for error
+ '''
+ raise NotImplementedError()
+
+ #
+ # Base class implementation
+ #
+
+ def __init__(self):
+ self.o = None
+
+ def SetOptions(self, opts):
+ self.o = opts
+
+ def Out(self, text):
+ '''Always writes out 'text'.'''
+ self.o.output_stream.write(text)
+
+ def VerboseOut(self, text):
+ '''Writes out 'text' if the verbose option is on.'''
+ if self.o.verbose:
+ self.o.output_stream.write(text)
+
+ def ExtraVerboseOut(self, text):
+ '''Writes out 'text' if the extra-verbose option is on.
+ '''
+ if self.o.extra_verbose:
+ self.o.output_stream.write(text)
« no previous file with comments | « tools/grit/grit/tool/diff_structures.py ('k') | tools/grit/grit/tool/menu_from_parts.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698