| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Generic presubmit checks that can be reused by other presubmit checks.""" | 5 """Generic presubmit checks that can be reused by other presubmit checks.""" |
| 6 | 6 |
| 7 import os as _os | 7 import os as _os |
| 8 _HERE = _os.path.dirname(_os.path.abspath(__file__)) | 8 _HERE = _os.path.dirname(_os.path.abspath(__file__)) |
| 9 | 9 |
| 10 # Justifications for each filter: | 10 # Justifications for each filter: |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 file_maxlen = maxlens.get(file_extension, maxlens['']) | 361 file_maxlen = maxlens.get(file_extension, maxlens['']) |
| 362 # Stupidly long symbols that needs to be worked around if takes 66% of line. | 362 # Stupidly long symbols that needs to be worked around if takes 66% of line. |
| 363 long_symbol = file_maxlen * 2 / 3 | 363 long_symbol = file_maxlen * 2 / 3 |
| 364 # Hard line length limit at 50% more. | 364 # Hard line length limit at 50% more. |
| 365 extra_maxlen = file_maxlen * 3 / 2 | 365 extra_maxlen = file_maxlen * 3 / 2 |
| 366 | 366 |
| 367 line_len = len(line) | 367 line_len = len(line) |
| 368 if line_len <= file_maxlen: | 368 if line_len <= file_maxlen: |
| 369 return True | 369 return True |
| 370 | 370 |
| 371 # Allow long URLs of any length. |
| 372 if any((url in line) for url in ('file://', 'http://', 'https://')): |
| 373 return True |
| 374 |
| 371 if line_len > extra_maxlen: | 375 if line_len > extra_maxlen: |
| 372 return False | 376 return False |
| 373 | 377 |
| 374 if any((url in line) for url in ('file://', 'http://', 'https://')): | |
| 375 return True | |
| 376 | |
| 377 if 'url(' in line and file_extension == 'css': | 378 if 'url(' in line and file_extension == 'css': |
| 378 return True | 379 return True |
| 379 | 380 |
| 380 if '<include' in line and file_extension in ('css', 'html', 'js'): | 381 if '<include' in line and file_extension in ('css', 'html', 'js'): |
| 381 return True | 382 return True |
| 382 | 383 |
| 383 return input_api.re.match( | 384 return input_api.re.match( |
| 384 r'.*[A-Za-z][A-Za-z_0-9]{%d,}.*' % long_symbol, line) | 385 r'.*[A-Za-z][A-Za-z_0-9]{%d,}.*' % long_symbol, line) |
| 385 | 386 |
| 386 def format_error(filename, line_num, line): | 387 def format_error(filename, line_num, line): |
| (...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1120 for f in affected_files: | 1121 for f in affected_files: |
| 1121 cmd = ['gn', 'format', '--dry-run', f.AbsoluteLocalPath()] | 1122 cmd = ['gn', 'format', '--dry-run', f.AbsoluteLocalPath()] |
| 1122 rc = gn.main(cmd) | 1123 rc = gn.main(cmd) |
| 1123 if rc == 2: | 1124 if rc == 2: |
| 1124 warnings.append(output_api.PresubmitPromptWarning( | 1125 warnings.append(output_api.PresubmitPromptWarning( |
| 1125 '%s requires formatting. Please run `gn format --in-place %s`.' % ( | 1126 '%s requires formatting. Please run `gn format --in-place %s`.' % ( |
| 1126 f.AbsoluteLocalPath(), f.LocalPath()))) | 1127 f.AbsoluteLocalPath(), f.LocalPath()))) |
| 1127 # It's just a warning, so ignore other types of failures assuming they'll be | 1128 # It's just a warning, so ignore other types of failures assuming they'll be |
| 1128 # caught elsewhere. | 1129 # caught elsewhere. |
| 1129 return warnings | 1130 return warnings |
| OLD | NEW |