Use new common tools in Python scripts

BUG=skia:2682
R=rmistry@google.com

Review URL: https://codereview.chromium.org/330423004
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index dc8cb77..81bb257 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -46,6 +46,31 @@
   return []
 
 
+def _PythonChecks(input_api, output_api):
+  """Run checks on any modified Python files."""
+  pylint_disabled_warnings = (
+      'F0401',  # Unable to import.
+      'E0611',  # No name in module.
+      'W0232',  # Class has no __init__ method.
+      'E1002',  # Use of super on an old style class.
+      'W0403',  # Relative import used.
+      'R0201',  # Method could be a function.
+      'E1003',  # Using class name in super.
+      'W0613',  # Unused argument.
+  )
+  # Run Pylint on only the modified python files. Unfortunately it still runs
+  # Pylint on the whole file instead of just the modified lines.
+  affected_python_files = []
+  for affected_file in input_api.AffectedSourceFiles(None):
+    affected_file_path = affected_file.LocalPath()
+    if affected_file_path.endswith('.py'):
+      affected_python_files.append(affected_file_path)
+  return input_api.canned_checks.RunPylint(
+      input_api, output_api,
+      disabled_warnings=pylint_disabled_warnings,
+      white_list=affected_python_files)
+
+
 def _CommonChecks(input_api, output_api):
   """Presubmit checks common to upload and commit."""
   results = []
@@ -58,6 +83,7 @@
   results.extend(
       _CheckChangeHasEol(
           input_api, output_api, source_file_filter=sources))
+  results.extend(_PythonChecks(input_api, output_api))
   return results
 
 
@@ -189,7 +215,7 @@
             'lgtm' in message['text'].lower()):
           # Found an lgtm in a message from an owner.
           lgtm_from_owner = True
-          break;
+          break
 
   if not lgtm_from_owner:
     results.append(