Make indentation match the style guide.

Apparently Google abandoned the 2 space indent for Python long ago.
Helps to actually read the style guide before trying to adhere to it.

Change-Id: I4feb019f0916f9d8e4f78c0dbeafbe45d8a46bfd
diff --git a/tools/bionicbb/build_listener.py b/tools/bionicbb/build_listener.py
index b63c18d..f7f52ed 100644
--- a/tools/bionicbb/build_listener.py
+++ b/tools/bionicbb/build_listener.py
@@ -1,6 +1,19 @@
 #!/usr/bin/env python2
-# pylint: disable=bad-indentation
-# vim: set sw=2 ts=2:
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the 'License');
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an 'AS IS' BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 import json
 import requests
 import termcolor
@@ -12,93 +25,94 @@
 
 
 def gerrit_url(endpoint):
-  gerrit_base_url = 'https://android-review.googlesource.com'
-  return gerrit_base_url + endpoint
+    gerrit_base_url = 'https://android-review.googlesource.com'
+    return gerrit_base_url + endpoint
 
 
 @app.route('/', methods=['POST'])
 def handle_build_message():
-  result = json.loads(request.data)
+    result = json.loads(request.data)
 
-  name = result['name']
-  number = result['build']['number']
-  status = result['build']['status']
-  go_url = 'http://go/bionicbb/' + result['build']['url']
-  full_url = result['build']['full_url']
-  params = result['build']['parameters']
-  change_id = params['CHANGE_ID']
-  ref = params['REF']
-  patch_set = ref.split('/')[-1]
+    name = result['name']
+    number = result['build']['number']
+    status = result['build']['status']
+    go_url = 'http://go/bionicbb/' + result['build']['url']
+    full_url = result['build']['full_url']
+    params = result['build']['parameters']
+    change_id = params['CHANGE_ID']
+    ref = params['REF']
+    patch_set = ref.split('/')[-1]
 
-  print '{} #{} {}: {}'.format(name, number, status, full_url)
+    print '{} #{} {}: {}'.format(name, number, status, full_url)
 
-  # bionic-lint is always broken, so we don't want to reject changes for those
-  # failures until we clean things up.
-  if name == 'bionic-presubmit':
-    message_lines = ['{} #{} checkbuild {}: {}'.format(
-        name, number, status, go_url)]
-    if status == 'FAILURE':
-      message_lines += ['If you believe this Verified-1 was in error, +1 the '
-                        'change and bionicbb will remove the -1 shortly.']
+    # bionic-lint is always broken, so we don't want to reject changes for
+    # those failures until we clean things up.
+    if name == 'bionic-presubmit':
+        message_lines = ['{} #{} checkbuild {}: {}'.format(
+            name, number, status, go_url)]
+        if status == 'FAILURE':
+            message_lines += ['If you believe this Verified-1 was in error, '
+                              '+1 the change and bionicbb will remove the -1 '
+                              'shortly.']
 
-    request_data = {
-        'message': '\n'.join(message_lines)
-    }
+        request_data = {
+            'message': '\n'.join(message_lines)
+        }
 
-    label = 'Verified'
-    if status == 'FAILURE':
-      request_data['labels'] = {label: -1}
-    elif status == 'SUCCESS':
-      request_data['labels'] = {label: +1}
+        label = 'Verified'
+        if status == 'FAILURE':
+            request_data['labels'] = {label: -1}
+        elif status == 'SUCCESS':
+            request_data['labels'] = {label: +1}
 
-    url = gerrit_url('/a/changes/{}/revisions/{}/review'.format(change_id,
-                                                                patch_set))
+        url = gerrit_url('/a/changes/{}/revisions/{}/review'.format(change_id,
+                                                                    patch_set))
 
-    headers = {'Content-Type': 'application/json;charset=UTF-8'}
-    print 'POST {}: {}'.format(url, request_data)
-    print requests.post(url, headers=headers, json=request_data)
-  elif name == 'clean-bionic-presubmit':
-    request_data = {'message': 'out/ directory removed'}
-    url = gerrit_url('/a/changes/{}/revisions/{}/review'.format(change_id,
-                                                                patch_set))
-    headers = {'Content-Type': 'application/json;charset=UTF-8'}
-    print 'POST {}: {}'.format(url, request_data)
-    print requests.post(url, headers=headers, json=request_data)
-  elif name == 'bionic-lint':
-    print 'IGNORED'
-  else:
-    print '{}: {}'.format(termcolor.colored('red', 'UNKNOWN'), name)
-  return ''
+        headers = {'Content-Type': 'application/json;charset=UTF-8'}
+        print 'POST {}: {}'.format(url, request_data)
+        print requests.post(url, headers=headers, json=request_data)
+    elif name == 'clean-bionic-presubmit':
+        request_data = {'message': 'out/ directory removed'}
+        url = gerrit_url('/a/changes/{}/revisions/{}/review'.format(change_id,
+                                                                    patch_set))
+        headers = {'Content-Type': 'application/json;charset=UTF-8'}
+        print 'POST {}: {}'.format(url, request_data)
+        print requests.post(url, headers=headers, json=request_data)
+    elif name == 'bionic-lint':
+        print 'IGNORED'
+    else:
+        print '{}: {}'.format(termcolor.colored('red', 'UNKNOWN'), name)
+    return ''
 
 
 @app.route('/drop-rejection', methods=['POST'])
 def drop_rejection():
-  revision_info = json.loads(request.data)
+    revision_info = json.loads(request.data)
 
-  change_id = revision_info['changeid']
-  patch_set = revision_info['patchset']
+    change_id = revision_info['changeid']
+    patch_set = revision_info['patchset']
 
-  bb_email = 'bionicbb@android.com'
-  labels = gerrit.get_labels(change_id, patch_set)
-  if bb_email in labels['Verified']:
-    bb_review = labels['Verified'][bb_email]
-  else:
-    bb_review = 0
+    bb_email = 'bionicbb@android.com'
+    labels = gerrit.get_labels(change_id, patch_set)
+    if bb_email in labels['Verified']:
+        bb_review = labels['Verified'][bb_email]
+    else:
+        bb_review = 0
 
-  if bb_review >= 0:
-    print 'No rejection to drop: {} {}'.format(change_id, patch_set)
+    if bb_review >= 0:
+        print 'No rejection to drop: {} {}'.format(change_id, patch_set)
+        return ''
+
+    print 'Dropping rejection: {} {}'.format(change_id, patch_set)
+
+    request_data = {'labels': {'Verified': 0}}
+    url = gerrit_url('/a/changes/{}/revisions/{}/review'.format(change_id,
+                                                                patch_set))
+    headers = {'Content-Type': 'application/json;charset=UTF-8'}
+    print 'POST {}: {}'.format(url, request_data)
+    print requests.post(url, headers=headers, json=request_data)
     return ''
 
-  print 'Dropping rejection: {} {}'.format(change_id, patch_set)
-
-  request_data = {'labels': {'Verified': 0}}
-  url = gerrit_url('/a/changes/{}/revisions/{}/review'.format(change_id,
-                                                              patch_set))
-  headers = {'Content-Type': 'application/json;charset=UTF-8'}
-  print 'POST {}: {}'.format(url, request_data)
-  print requests.post(url, headers=headers, json=request_data)
-  return ''
-
 
 if __name__ == "__main__":
-  app.run(host='0.0.0.0', debug=True)
+    app.run(host='0.0.0.0', debug=True)
diff --git a/tools/bionicbb/gerrit.py b/tools/bionicbb/gerrit.py
index 51df4fb..a3d5887 100644
--- a/tools/bionicbb/gerrit.py
+++ b/tools/bionicbb/gerrit.py
@@ -1,56 +1,69 @@
-# pylint: disable=bad-indentation
-# vim: set sw=2 ts=2:
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the 'License');
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an 'AS IS' BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 import json
 import requests
 
 
 class GerritError(RuntimeError):
-  def __init__(self, code, url):
-    self.code = code
-    self.url = url
-    super(GerritError, self).__init__('Error {}: {}'.format(code, url))
+    def __init__(self, code, url):
+        self.code = code
+        self.url = url
+        super(GerritError, self).__init__('Error {}: {}'.format(code, url))
 
 
 def call(endpoint, method='GET'):
-  if method != 'GET':
-    raise NotImplementedError('Currently only HTTP GET is supported.')
-  gerrit_url = 'https://android-review.googlesource.com'
-  url = gerrit_url + endpoint
-  response = requests.get(url)
-  if response.status_code != 200:
-    raise GerritError(response.status_code, url)
-  return response.text[5:]
+    if method != 'GET':
+        raise NotImplementedError('Currently only HTTP GET is supported.')
+    gerrit_url = 'https://android-review.googlesource.com'
+    url = gerrit_url + endpoint
+    response = requests.get(url)
+    if response.status_code != 200:
+        raise GerritError(response.status_code, url)
+    return response.text[5:]
 
 
 def ref_for_change(change_id):
-  endpoint = '/changes/{}/detail?o=CURRENT_REVISION'.format(change_id)
-  change = json.loads(call(endpoint))
-  commit = change['current_revision']
-  return change['revisions'][commit]['fetch']['http']['ref']
+    endpoint = '/changes/{}/detail?o=CURRENT_REVISION'.format(change_id)
+    change = json.loads(call(endpoint))
+    commit = change['current_revision']
+    return change['revisions'][commit]['fetch']['http']['ref']
 
 
 def get_labels(change_id, patch_set):
-  """Returns labels attached to a revision.
+    """Returns labels attached to a revision.
 
-  Returned data is in the following format:
-  {
-      'Code-Review': {
-          <email>: <value>,
-          ...
-      },
-      'Verified': {
-          <email>: <value>,
-          ...
-      }
-  }
-  """
-  details = call('/changes/{}/revisions/{}/review'.format(
-      change_id, patch_set))
-  labels = {'Code-Review': {}, 'Verified': {}}
-  for review in details['labels']['Code-Review']['all']:
-    if 'value' in review and 'email' in review:
-      labels['Code-Review'][review['email']] = int(review['value'])
-  for review in details['labels']['Verified']['all']:
-    if 'value' in review and 'email' in review:
-      labels['Verified'][review['email']] = int(review['value'])
-  return labels
+    Returned data is in the following format:
+    {
+        'Code-Review': {
+            <email>: <value>,
+            ...
+        },
+        'Verified': {
+            <email>: <value>,
+            ...
+        }
+    }
+    """
+    details = call('/changes/{}/revisions/{}/review'.format(
+        change_id, patch_set))
+    labels = {'Code-Review': {}, 'Verified': {}}
+    for review in details['labels']['Code-Review']['all']:
+        if 'value' in review and 'email' in review:
+            labels['Code-Review'][review['email']] = int(review['value'])
+    for review in details['labels']['Verified']['all']:
+        if 'value' in review and 'email' in review:
+            labels['Verified'][review['email']] = int(review['value'])
+    return labels
diff --git a/tools/bionicbb/gmail_listener.py b/tools/bionicbb/gmail_listener.py
index 95ae3ae..8718484 100644
--- a/tools/bionicbb/gmail_listener.py
+++ b/tools/bionicbb/gmail_listener.py
@@ -1,6 +1,19 @@
 #!/usr/bin/env python2
-# pylint: disable=bad-indentation
-# vim: set sw=2 ts=2:
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the 'License');
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an 'AS IS' BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 import base64
 import httplib
 import httplib2
@@ -20,228 +33,229 @@
 
 
 class GmailError(RuntimeError):
-  def __init__(self, message):
-    super(GmailError, self).__init__(message)
+    def __init__(self, message):
+        super(GmailError, self).__init__(message)
 
 
 def get_gerrit_label(labels):
-  for label in labels:
-    if label['name'] == 'gerrit':
-      return label['id']
-  return None
+    for label in labels:
+        if label['name'] == 'gerrit':
+            return label['id']
+    return None
 
 
 def get_headers(msg):
-  headers = {}
-  for hdr in msg['payload']['headers']:
-    headers[hdr['name']] = hdr['value']
-  return headers
+    headers = {}
+    for hdr in msg['payload']['headers']:
+        headers[hdr['name']] = hdr['value']
+    return headers
 
 
 def build_service():
-  from apiclient.discovery import build
-  from oauth2client.client import flow_from_clientsecrets
-  from oauth2client.file import Storage
-  from oauth2client.tools import run
+    from apiclient.discovery import build
+    from oauth2client.client import flow_from_clientsecrets
+    from oauth2client.file import Storage
+    from oauth2client.tools import run
 
-  OAUTH_SCOPE = 'https://www.googleapis.com/auth/gmail.modify'
-  STORAGE = Storage('oauth.storage')
+    OAUTH_SCOPE = 'https://www.googleapis.com/auth/gmail.modify'
+    STORAGE = Storage('oauth.storage')
 
-  # Start the OAuth flow to retrieve credentials
-  flow = flow_from_clientsecrets(config.client_secret_file, scope=OAUTH_SCOPE)
-  http = httplib2.Http()
+    # Start the OAuth flow to retrieve credentials
+    flow = flow_from_clientsecrets(config.client_secret_file,
+                                   scope=OAUTH_SCOPE)
+    http = httplib2.Http()
 
-  # Try to retrieve credentials from storage or run the flow to generate them
-  credentials = STORAGE.get()
-  if credentials is None or credentials.invalid:
-    credentials = run(flow, STORAGE, http=http)
+    # Try to retrieve credentials from storage or run the flow to generate them
+    credentials = STORAGE.get()
+    if credentials is None or credentials.invalid:
+        credentials = run(flow, STORAGE, http=http)
 
-  http = credentials.authorize(http)
-  return build('gmail', 'v1', http=http)
+    http = credentials.authorize(http)
+    return build('gmail', 'v1', http=http)
 
 
 def get_all_messages(service, label):
-  msgs = []
-  response = service.users().messages().list(
-      userId='me', labelIds=label).execute()
-  if 'messages' in response:
-    msgs.extend(response['messages'])
-  while 'nextPageToken' in response:
-    page_token = response['nextPageToken']
+    msgs = []
     response = service.users().messages().list(
-        userId='me', pageToken=page_token).execute()
-    msgs.extend(response['messages'])
-  return msgs
+        userId='me', labelIds=label).execute()
+    if 'messages' in response:
+        msgs.extend(response['messages'])
+    while 'nextPageToken' in response:
+        page_token = response['nextPageToken']
+        response = service.users().messages().list(
+            userId='me', pageToken=page_token).execute()
+        msgs.extend(response['messages'])
+    return msgs
 
 
 def get_body(msg):
-  if 'attachmentId' in msg['payload']['body']:
-    raise NotImplementedError('Handling of messages contained in '
-                              'attachments not yet implemented.')
-  b64_body = msg['payload']['body']['data']
-  return base64.urlsafe_b64decode(b64_body.encode('ASCII'))
+    if 'attachmentId' in msg['payload']['body']:
+        raise NotImplementedError('Handling of messages contained in '
+                                  'attachments not yet implemented.')
+    b64_body = msg['payload']['body']['data']
+    return base64.urlsafe_b64decode(b64_body.encode('ASCII'))
 
 
 def get_gerrit_info(body):
-  info = {}
-  gerrit_pattern = r'^Gerrit-(\S+): (.+)$'
-  for match in re.finditer(gerrit_pattern, body, flags=re.MULTILINE):
-    info[match.group(1)] = match.group(2).strip()
-  return info
+    info = {}
+    gerrit_pattern = r'^Gerrit-(\S+): (.+)$'
+    for match in re.finditer(gerrit_pattern, body, flags=re.MULTILINE):
+        info[match.group(1)] = match.group(2).strip()
+    return info
 
 
 def clean_project(gerrit_info, dry_run):
-  username = config.jenkins_credentials['username']
-  password = config.jenkins_credentials['password']
-  jenkins_url = config.jenkins_url
-  jenkins = jenkinsapi.api.Jenkins(jenkins_url, username, password)
+    username = config.jenkins_credentials['username']
+    password = config.jenkins_credentials['password']
+    jenkins_url = config.jenkins_url
+    jenkins = jenkinsapi.api.Jenkins(jenkins_url, username, password)
 
-  build = 'clean-bionic-presubmit'
-  if build in jenkins:
-    if not dry_run:
-      job = jenkins[build].invoke()
-      url = job.get_build().baseurl
+    build = 'clean-bionic-presubmit'
+    if build in jenkins:
+        if not dry_run:
+            job = jenkins[build].invoke()
+            url = job.get_build().baseurl
+        else:
+            url = 'DRY_RUN_URL'
+        print '{}({}): {} {}'.format(
+            termcolor.colored('CLEAN', 'green'),
+            gerrit_info['MessageType'],
+            build,
+            url)
     else:
-      url = 'DRY_RUN_URL'
-    print '{}({}): {} {}'.format(
-        termcolor.colored('CLEAN', 'green'),
-        gerrit_info['MessageType'],
-        build,
-        url)
-  else:
-    print '{}({}): {}'.format(
-        termcolor.colored('CLEAN', 'red'),
-        gerrit_info['MessageType'],
-        termcolor.colored(build, 'red'))
-  return True
+        print '{}({}): {}'.format(
+            termcolor.colored('CLEAN', 'red'),
+            gerrit_info['MessageType'],
+            termcolor.colored(build, 'red'))
+    return True
 
 
 def build_project(gerrit_info, dry_run):
-  project_to_jenkins_map = {
-      'platform/bionic': 'bionic-presubmit',
-      'platform/build': 'bionic-presubmit',
-      'platform/external/jemalloc': 'bionic-presubmit',
-      'platform/external/libcxx': 'bionic-presubmit',
-      'platform/external/libcxxabi': 'bionic-presubmit',
-      'platform/external/compiler-rt': 'bionic-presubmit',
-  }
-
-  username = config.jenkins_credentials['username']
-  password = config.jenkins_credentials['password']
-  jenkins_url = config.jenkins_url
-  jenkins = jenkinsapi.api.Jenkins(jenkins_url, username, password)
-
-  project = gerrit_info['Project']
-  change_id = gerrit_info['Change-Id']
-  if project in project_to_jenkins_map:
-    build = project_to_jenkins_map[project]
-  else:
-    build = 'bionic-presubmit'
-
-  if build in jenkins:
-    project_path = '/'.join(project.split('/')[1:])
-    if not project_path:
-      raise RuntimeError('bogus project: {}'.format(project))
-    if project_path.startswith('platform/'):
-      print '{}({}): {} => {}'.format(
-          termcolor.colored('ERROR', 'red'),
-          'project',
-          project,
-          project_path)
-      return False
-    try:
-      ref = gerrit.ref_for_change(change_id)
-    except gerrit.GerritError as ex:
-      print '{}({}): {} {}'.format(
-          termcolor.colored('GERRIT-ERROR', 'red'),
-          ex.code,
-          change_id,
-          ex.url)
-      return False
-    params = {
-        'REF': ref,
-        'CHANGE_ID': change_id,
-        'PROJECT': project_path
+    project_to_jenkins_map = {
+        'platform/bionic': 'bionic-presubmit',
+        'platform/build': 'bionic-presubmit',
+        'platform/external/jemalloc': 'bionic-presubmit',
+        'platform/external/libcxx': 'bionic-presubmit',
+        'platform/external/libcxxabi': 'bionic-presubmit',
+        'platform/external/compiler-rt': 'bionic-presubmit',
     }
-    if not dry_run:
-      job = jenkins[build].invoke(build_params=params)
-      url = job.get_build().baseurl
+
+    username = config.jenkins_credentials['username']
+    password = config.jenkins_credentials['password']
+    jenkins_url = config.jenkins_url
+    jenkins = jenkinsapi.api.Jenkins(jenkins_url, username, password)
+
+    project = gerrit_info['Project']
+    change_id = gerrit_info['Change-Id']
+    if project in project_to_jenkins_map:
+        build = project_to_jenkins_map[project]
     else:
-      url = 'DRY_RUN_URL'
-    print '{}({}): {} => {} {} {}'.format(
-        termcolor.colored('BUILD', 'green'),
-        gerrit_info['MessageType'],
-        project,
-        build,
-        url,
-        change_id)
-  else:
-    print '{}({}): {} => {} {}'.format(
-        termcolor.colored('BUILD', 'red'),
-        gerrit_info['MessageType'],
-        project,
-        termcolor.colored(build, 'red'),
-        change_id)
-  return True
+        build = 'bionic-presubmit'
+
+    if build in jenkins:
+        project_path = '/'.join(project.split('/')[1:])
+        if not project_path:
+            raise RuntimeError('bogus project: {}'.format(project))
+        if project_path.startswith('platform/'):
+            print '{}({}): {} => {}'.format(
+                termcolor.colored('ERROR', 'red'),
+                'project',
+                project,
+                project_path)
+            return False
+        try:
+            ref = gerrit.ref_for_change(change_id)
+        except gerrit.GerritError as ex:
+            print '{}({}): {} {}'.format(
+                termcolor.colored('GERRIT-ERROR', 'red'),
+                ex.code,
+                change_id,
+                ex.url)
+            return False
+        params = {
+            'REF': ref,
+            'CHANGE_ID': change_id,
+            'PROJECT': project_path
+        }
+        if not dry_run:
+            job = jenkins[build].invoke(build_params=params)
+            url = job.get_build().baseurl
+        else:
+            url = 'DRY_RUN_URL'
+        print '{}({}): {} => {} {} {}'.format(
+            termcolor.colored('BUILD', 'green'),
+            gerrit_info['MessageType'],
+            project,
+            build,
+            url,
+            change_id)
+    else:
+        print '{}({}): {} => {} {}'.format(
+            termcolor.colored('BUILD', 'red'),
+            gerrit_info['MessageType'],
+            project,
+            termcolor.colored(build, 'red'),
+            change_id)
+    return True
 
 
 def handle_change(gerrit_info, _, dry_run):
-  return build_project(gerrit_info, dry_run)
+    return build_project(gerrit_info, dry_run)
 handle_newchange = handle_change
 handle_newpatchset = handle_change
 
 
 def drop_rejection(gerrit_info, dry_run):
-  request_data = {
-      'changeid': gerrit_info['Change-Id'],
-      'patchset': gerrit_info['PatchSet']
-  }
-  url = '{}/{}'.format(config.build_listener_url, 'drop-rejection')
-  headers = {'Content-Type': 'application/json;charset=UTF-8'}
-  if not dry_run:
-    try:
-      requests.post(url, headers=headers, data=json.dumps(request_data))
-    except requests.exceptions.ConnectionError as ex:
-      print '{}(drop-rejection): {}'.format(
-          termcolor.colored('ERROR', 'red'), ex)
-      return False
-  print '{}({}): {}'.format(
-      termcolor.colored('CHECK', 'green'),
-      gerrit_info['MessageType'],
-      gerrit_info['Change-Id'])
-  return True
+    request_data = {
+        'changeid': gerrit_info['Change-Id'],
+        'patchset': gerrit_info['PatchSet']
+    }
+    url = '{}/{}'.format(config.build_listener_url, 'drop-rejection')
+    headers = {'Content-Type': 'application/json;charset=UTF-8'}
+    if not dry_run:
+        try:
+            requests.post(url, headers=headers, data=json.dumps(request_data))
+        except requests.exceptions.ConnectionError as ex:
+            print '{}(drop-rejection): {}'.format(
+                termcolor.colored('ERROR', 'red'), ex)
+            return False
+    print '{}({}): {}'.format(
+        termcolor.colored('CHECK', 'green'),
+        gerrit_info['MessageType'],
+        gerrit_info['Change-Id'])
+    return True
 
 
 def handle_comment(gerrit_info, body, dry_run):
-  if 'Verified+1' in body:
-    drop_rejection(gerrit_info, dry_run)
+    if 'Verified+1' in body:
+        drop_rejection(gerrit_info, dry_run)
 
-  command_map = {
-      'clean': lambda: clean_project(gerrit_info, dry_run),
-      'retry': lambda: build_project(gerrit_info, dry_run),
-  }
+    command_map = {
+        'clean': lambda: clean_project(gerrit_info, dry_run),
+        'retry': lambda: build_project(gerrit_info, dry_run),
+    }
 
-  def handle_unknown_command():
-    pass  # TODO(danalbert): should complain to the commenter.
+    def handle_unknown_command():
+        pass    # TODO(danalbert): should complain to the commenter.
 
-  commands = [match.group(1).strip() for match in
-              re.finditer(r'^bionicbb:\s*(.+)$', body, flags=re.MULTILINE)]
+    commands = [match.group(1).strip() for match in
+                re.finditer(r'^bionicbb:\s*(.+)$', body, flags=re.MULTILINE)]
 
-  for command in commands:
-    if command in command_map:
-      command_map[command]()
-    else:
-      handle_unknown_command()
+    for command in commands:
+        if command in command_map:
+            command_map[command]()
+        else:
+            handle_unknown_command()
 
-  return True
+    return True
 
 
 def skip_handler(gerrit_info, _, __):
-  print '{}({}): {}'.format(
-      termcolor.colored('SKIP', 'yellow'),
-      gerrit_info['MessageType'],
-      gerrit_info['Change-Id'])
-  return True
+    print '{}({}): {}'.format(
+        termcolor.colored('SKIP', 'yellow'),
+        gerrit_info['MessageType'],
+        gerrit_info['Change-Id'])
+    return True
 handle_abandon = skip_handler
 handle_merged = skip_handler
 handle_restore = skip_handler
@@ -249,62 +263,63 @@
 
 
 def process_message(msg, dry_run):
-  try:
-    body = get_body(msg)
-    gerrit_info = get_gerrit_info(body)
-    if not gerrit_info:
-      print termcolor.colored('No info found: {}'.format(msg['id']), 'red')
-    msg_type = gerrit_info['MessageType']
-    handler = 'handle_{}'.format(gerrit_info['MessageType'])
-    if handler in globals():
-      return globals()[handler](gerrit_info, body, dry_run)
-    else:
-      print termcolor.colored(
-          'MessageType {} unhandled.'.format(msg_type), 'red')
-    print
-    return False
-  except NotImplementedError as ex:
-    print ex
-    return False
+    try:
+        body = get_body(msg)
+        gerrit_info = get_gerrit_info(body)
+        if not gerrit_info:
+            print termcolor.colored('No info found: {}'.format(msg['id']),
+                                    'red')
+        msg_type = gerrit_info['MessageType']
+        handler = 'handle_{}'.format(gerrit_info['MessageType'])
+        if handler in globals():
+            return globals()[handler](gerrit_info, body, dry_run)
+        else:
+            print termcolor.colored(
+                'MessageType {} unhandled.'.format(msg_type), 'red')
+        print
+        return False
+    except NotImplementedError as ex:
+        print ex
+        return False
 
 
 def main(argc, argv):
-  dry_run = False
-  if argc == 2 and argv[1] == '--dry-run':
-    dry_run = True
-  elif argc > 2:
-    sys.exit('usage: python {} [--dry-run]'.format(argv[0]))
+    dry_run = False
+    if argc == 2 and argv[1] == '--dry-run':
+        dry_run = True
+    elif argc > 2:
+        sys.exit('usage: python {} [--dry-run]'.format(argv[0]))
 
-  gmail_service = build_service()
-  msg_service = gmail_service.users().messages()
+    gmail_service = build_service()
+    msg_service = gmail_service.users().messages()
 
-  while True:
-    try:
-      labels = gmail_service.users().labels().list(userId='me').execute()
-      if not labels['labels']:
-        raise GmailError('Could not retrieve Gmail labels')
-      label_id = get_gerrit_label(labels['labels'])
-      if not label_id:
-        raise GmailError('Could not find gerrit label')
+    while True:
+        try:
+            labels = gmail_service.users().labels().list(userId='me').execute()
+            if not labels['labels']:
+                raise GmailError('Could not retrieve Gmail labels')
+            label_id = get_gerrit_label(labels['labels'])
+            if not label_id:
+                raise GmailError('Could not find gerrit label')
 
-      for msg in get_all_messages(gmail_service, label_id):
-        msg = msg_service.get(userId='me', id=msg['id']).execute()
-        if process_message(msg, dry_run) and not dry_run:
-          msg_service.trash(userId='me', id=msg['id']).execute()
-      time.sleep(60 * 5)
-    except GmailError as ex:
-      print '{}: {}!'.format(termcolor.colored('ERROR', 'red'), ex)
-      time.sleep(60 * 5)
-    except apiclient.errors.HttpError as ex:
-      print '{}: {}!'.format(termcolor.colored('ERROR', 'red'), ex)
-      time.sleep(60 * 5)
-    except httplib.BadStatusLine:
-      pass
-    except httplib2.ServerNotFoundError:
-      pass
-    except socket.error:
-      pass
+            for msg in get_all_messages(gmail_service, label_id):
+                msg = msg_service.get(userId='me', id=msg['id']).execute()
+                if process_message(msg, dry_run) and not dry_run:
+                    msg_service.trash(userId='me', id=msg['id']).execute()
+            time.sleep(60 * 5)
+        except GmailError as ex:
+            print '{}: {}!'.format(termcolor.colored('ERROR', 'red'), ex)
+            time.sleep(60 * 5)
+        except apiclient.errors.HttpError as ex:
+            print '{}: {}!'.format(termcolor.colored('ERROR', 'red'), ex)
+            time.sleep(60 * 5)
+        except httplib.BadStatusLine:
+            pass
+        except httplib2.ServerNotFoundError:
+            pass
+        except socket.error:
+            pass
 
 
 if __name__ == '__main__':
-  main(len(sys.argv), sys.argv)
+    main(len(sys.argv), sys.argv)
diff --git a/tools/bionicbb/setup.cfg b/tools/bionicbb/setup.cfg
deleted file mode 100644
index 47cd585..0000000
--- a/tools/bionicbb/setup.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-[pep8]
-ignore = E111