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 3 # found in the LICENSE file. 4 import os 5 import sys 6 7 PYLINT_BLACKLIST = [] 8 PYLINT_DISABLED_WARNINGS = ['R0923', 'R0201', 'E1101'] 9 10 def _CommonChecks(input_api, output_api): 11 results = [] 12 13 # TODO(nduca): This should call update_docs.IsUpdateDocsNeeded(). 14 # Disabled due to crbug.com/255326. 15 if False: 16 update_docs_path = os.path.join( 17 input_api.PresubmitLocalPath(), 'update_docs') 18 assert os.path.exists(update_docs_path) 19 results.append(output_api.PresubmitError( 20 'Docs are stale. Please run:\n' + 21 '$ %s' % os.path.abspath(update_docs_path))) 22 23 results.extend(input_api.canned_checks.RunPylint( 24 input_api, output_api, 25 black_list=PYLINT_BLACKLIST, 26 disabled_warnings=PYLINT_DISABLED_WARNINGS)) 27 return results 28 29 def GetPathsToPrepend(input_api): 30 return [input_api.PresubmitLocalPath()] 31 32 def RunWithPrependedPath(prepended_path, fn, *args): 33 old_path = sys.path 34 35 try: 36 sys.path = prepended_path + old_path 37 return fn(*args) 38 finally: 39 sys.path = old_path 40 41 def CheckChangeOnUpload(input_api, output_api): 42 def go(): 43 results = [] 44 results.extend(_CommonChecks(input_api, output_api)) 45 return results 46 return RunWithPrependedPath(GetPathsToPrepend(input_api), go) 47 48 def CheckChangeOnCommit(input_api, output_api): 49 def go(): 50 results = [] 51 results.extend(_CommonChecks(input_api, output_api)) 52 return results 53 return RunWithPrependedPath(GetPathsToPrepend(input_api), go) 54