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

Side by Side Diff: presubmit_support.py

Issue 6721029: Fix locale.getlocale() exception. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 9 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « gclient.py ('k') | tests/fix_encoding_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Enables directory-specific presubmit checks to run at upload and/or commit. 6 """Enables directory-specific presubmit checks to run at upload and/or commit.
7 """ 7 """
8 8
9 __version__ = '1.4' 9 __version__ = '1.4'
10 10
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 # sure loads exists. 43 # sure loads exists.
44 # Statement seems to have no effect 44 # Statement seems to have no effect
45 # pylint: disable=W0104 45 # pylint: disable=W0104
46 json.loads 46 json.loads
47 except (ImportError, AttributeError): 47 except (ImportError, AttributeError):
48 # Import the one included in depot_tools. 48 # Import the one included in depot_tools.
49 sys.path.append(os.path.join(os.path.dirname(__file__), 'third_party')) 49 sys.path.append(os.path.join(os.path.dirname(__file__), 'third_party'))
50 import simplejson as json # pylint: disable=F0401 50 import simplejson as json # pylint: disable=F0401
51 51
52 # Local imports. 52 # Local imports.
53 import fix_encoding
53 import gclient_utils 54 import gclient_utils
54 import owners 55 import owners
55 import presubmit_canned_checks 56 import presubmit_canned_checks
56 import scm 57 import scm
57 58
58 59
59 # Ask for feedback only once in program lifetime. 60 # Ask for feedback only once in program lifetime.
60 _ASKED_FOR_FEEDBACK = False 61 _ASKED_FOR_FEEDBACK = False
61 62
62 63
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 """ 136 """
136 self._message = message 137 self._message = message
137 self._items = [] 138 self._items = []
138 if items: 139 if items:
139 self._items = items 140 self._items = items
140 self._long_text = long_text.rstrip() 141 self._long_text = long_text.rstrip()
141 142
142 def handle(self, output): 143 def handle(self, output):
143 output.write(self._message) 144 output.write(self._message)
144 output.write('\n') 145 output.write('\n')
145 if len(self._items) > 0: 146 for index, item in enumerate(self._items):
146 output.write(' ' + ' \\\n '.join(map(str, self._items)) + '\n') 147 output.write(' ')
148 # Write separately in case it's unicode.
149 output.write(item)
150 if index < len(self._items) - 1:
151 output.write(' \\')
152 output.write('\n')
147 if self._long_text: 153 if self._long_text:
148 # Sometimes self._long_text is a ascii string, a codepage string 154 output.write('\n***************\n')
149 # (on windows), or a unicode object. 155 # Write separately in case it's unicode.
150 try: 156 output.write(self._long_text)
151 long_text = self._long_text.decode() 157 output.write('\n***************\n')
152 except UnicodeDecodeError:
153 long_text = self._long_text.decode('ascii', 'replace')
154
155 output.write('\n***************\n%s\n***************\n' %
156 long_text)
157 if self.fatal: 158 if self.fatal:
158 output.fail() 159 output.fail()
159 160
160 class PresubmitAddReviewers(PresubmitResult): 161 class PresubmitAddReviewers(PresubmitResult):
161 """Add some suggested reviewers to the change.""" 162 """Add some suggested reviewers to the change."""
162 def __init__(self, reviewers): 163 def __init__(self, reviewers):
163 super(OutputApi.PresubmitAddReviewers, self).__init__('') 164 super(OutputApi.PresubmitAddReviewers, self).__init__('')
164 self.reviewers = reviewers 165 self.reviewers = reviewers
165 166
166 def handle(self, output): 167 def handle(self, output):
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 options.commit, 1186 options.commit,
1186 options.verbose, 1187 options.verbose,
1187 sys.stdout, 1188 sys.stdout,
1188 sys.stdin, 1189 sys.stdin,
1189 options.default_presubmit, 1190 options.default_presubmit,
1190 options.may_prompt) 1191 options.may_prompt)
1191 return not results.should_continue() 1192 return not results.should_continue()
1192 1193
1193 1194
1194 if __name__ == '__main__': 1195 if __name__ == '__main__':
1196 fix_encoding.fix_encoding()
1195 sys.exit(Main(None)) 1197 sys.exit(Main(None))
OLDNEW
« no previous file with comments | « gclient.py ('k') | tests/fix_encoding_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698