old_contents: # Copyright 2014 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.
  
  """Top-level presubmit script for memory_inspector.
  
  See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for
  details on the presubmit API built into gcl.
  """
  
  
  def _CommonChecks(input_api, output_api):
    output = []
    blacklist = [r'classification_rules.*']
    output.extend(input_api.canned_checks.RunPylint(
        input_api, output_api, black_list=blacklist,
        extra_paths_list=[
            input_api.os_path.join(input_api.PresubmitLocalPath(), '..', '..',
                                   'build', 'android')
        ]))
    output.extend(input_api.canned_checks.RunUnitTests(
        input_api,
        output_api,
        [input_api.os_path.join(input_api.PresubmitLocalPath(), 'run_tests')]))
  
    if input_api.is_committing:
      output.extend(input_api.canned_checks.PanProjectChecks(input_api,
                                                             output_api,
                                                             owners_check=False))
    return output
  
  
  def _CheckPrebuiltsAreUploaded(input_api, output_api):
    import sys
    import urllib2
    old_sys_path = sys.path
    try:
      sys.path.append(input_api.os_path.join(input_api.PresubmitLocalPath()))
      from memory_inspector import constants
    finally:
      sys.path = old_sys_path
    missing_files = []
    for f in input_api.os_listdir(constants.PREBUILTS_PATH):
      if not f.endswith('.sha1'):
        continue
      prebuilt_sha_path = input_api.os_path.join(constants.PREBUILTS_PATH, f)
      with open(prebuilt_sha_path) as sha_file:
        sha = sha_file.read().strip()
      url = constants.PREBUILTS_BASE_URL + sha
      request = urllib2.Request(url)
      request.get_method = lambda : 'HEAD'
      try:
        urllib2.urlopen(request)
      except Exception, e:
        if isinstance(e, urllib2.HTTPError) and e.code == 404:
          missing_files += [prebuilt_sha_path]
        else:
          return [output_api.PresubmitError('HTTP Error while checking %s' % url,
                                            long_text=str(e))]
    if missing_files:
      return [output_api.PresubmitError(
          'Some prebuilts have not been uploaded. Perhaps you forgot to '
          'upload_to_google_storage.py?', missing_files)]
    return []
  
  
  def CheckChangeOnUpload(input_api, output_api):
    results = []
    results.extend(_CommonChecks(input_api, output_api))
    results.extend(_CheckPrebuiltsAreUploaded(input_api, output_api))
    return results
  
  
  def CheckChangeOnCommit(input_api, output_api):
    return _CommonChecks(input_api, output_api)
  
new_contents: # Copyright 2014 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.
  
  """Top-level presubmit script for memory_inspector.
  
  See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for
  details on the presubmit API built into gcl.
  """
  
  
  def CommonChecks(input_api, output_api):
    output = []
    blacklist = [r'classification_rules.*']
    output.extend(input_api.canned_checks.RunPylint(
        input_api, output_api, black_list=blacklist,
        extra_paths_list=[
            input_api.os_path.join(input_api.PresubmitLocalPath(), '..', '..',
                                   'build', 'android')
        ]))
    output.extend(input_api.canned_checks.RunUnitTests(
        input_api,
        output_api,
        [input_api.os_path.join(input_api.PresubmitLocalPath(), 'run_tests')]))
  
    if input_api.is_committing:
      output.extend(input_api.canned_checks.PanProjectChecks(input_api,
                                                             output_api,
                                                             owners_check=False))
    return output
  
  
  def CheckChangeOnUpload(input_api, output_api):
    return CommonChecks(input_api, output_api)
  
  
  def CheckChangeOnCommit(input_api, output_api):
    return CommonChecks(input_api, output_api)
  
subject: revert accidental changes to PRESUBMIT.py