1#!/usr/bin/python
2#
3# Copyright (C) 2023 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18import argparse
19import re
20import subprocess
21import sys
22
23
24def check_disallowed_words(commit):
25  try:
26    output = subprocess.check_output(["git", "show", f"{commit}"], shell=False).decode("utf-8")
27  except subprocess.CalledProcessError as e:
28    print(f"Error running: {e}")
29    return 1
30
31  disallowed_words = [
32      'Google Inc',
33      'NDK translation',
34      'NdkTranslation',
35      'ndk_translation',
36      'typedef ',
37  ]
38
39  for line in output.splitlines():
40    if (line.startswith('-')):
41      continue
42    for word in disallowed_words:
43      if re.search(word, line, re.IGNORECASE):
44        print(f"Found disallowed word '{word}' in line '{line}'")
45        return 1
46
47  return 0
48
49
50def main():
51  parser = argparse.ArgumentParser(description="check_disallowed_words")
52  parser.add_argument("--commit", help="check this commit")
53
54  return check_disallowed_words(parser.parse_args().commit)
55
56if __name__ == "__main__":
57  sys.exit(main())
58