Compare commits
3 Commits
6eeff9a08d
...
40e9e7575b
Author | SHA1 | Date | |
---|---|---|---|
40e9e7575b | |||
60e26aa2e4 | |||
721b96bcb7 |
33
main.py
33
main.py
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import argparse
|
import argparse
|
||||||
|
@ -13,19 +12,29 @@ RULES_MAIN= [
|
||||||
]
|
]
|
||||||
|
|
||||||
DUMB_WORDS = [
|
DUMB_WORDS = [
|
||||||
'derp', 'herp', 'fjerp', 'todo', 'attempts to',
|
'derp',
|
||||||
|
'herp',
|
||||||
|
'fjerp',
|
||||||
|
'todo',
|
||||||
|
'attempts to',
|
||||||
'actual',
|
'actual',
|
||||||
|
'technically',
|
||||||
|
'so',
|
||||||
|
"big integer",
|
||||||
|
|
||||||
# Misspelled words
|
# Misspelled words
|
||||||
'concatinate', # Concatenate
|
'concatinate', # Concatenate
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def re_select(options):
|
def re_select(options):
|
||||||
return r'(?:' + r'|'.join(options) + r')'
|
return r'(?:' + r'|'.join(options) + r')'
|
||||||
|
|
||||||
|
|
||||||
def re_delimit(rule):
|
def re_delimit(rule):
|
||||||
return r'\b' + rule + r'\b'
|
return r'\b' + rule + r'\b'
|
||||||
|
|
||||||
|
|
||||||
def re_case_insensitive_sub(m):
|
def re_case_insensitive_sub(m):
|
||||||
m = m.group(0)
|
m = m.group(0)
|
||||||
l = m.lower()
|
l = m.lower()
|
||||||
|
@ -35,9 +44,17 @@ def re_case_insensitive_sub(m):
|
||||||
else:
|
else:
|
||||||
return '[' + l + u + ']'
|
return '[' + l + u + ']'
|
||||||
|
|
||||||
|
|
||||||
def re_case_insensitive(rule):
|
def re_case_insensitive(rule):
|
||||||
return re.sub(r'\w', re_case_insensitive_sub, rule)
|
return re.sub(r'\w', re_case_insensitive_sub, rule)
|
||||||
|
|
||||||
|
|
||||||
|
def re_sentence(sentence):
|
||||||
|
words = sentence.split(' ')
|
||||||
|
re = '\s+'.join(re_case_insensitive(w) for w in words)
|
||||||
|
return re
|
||||||
|
|
||||||
|
|
||||||
RE_DOC_COULD_BE_LINK = r'^(\s*(?:\/\*\*|\*).*)(\b[A-Z][a-z]\w*[A-Z]\w*)([ ,.])'
|
RE_DOC_COULD_BE_LINK = r'^(\s*(?:\/\*\*|\*).*)(\b[A-Z][a-z]\w*[A-Z]\w*)([ ,.])'
|
||||||
|
|
||||||
RULES_BOTH = [
|
RULES_BOTH = [
|
||||||
|
@ -45,16 +62,19 @@ RULES_BOTH = [
|
||||||
r"\b(hasSize\(0\))\b",
|
r"\b(hasSize\(0\))\b",
|
||||||
r"\b(\.size\(\)\)\.isEqualTo\()\b",
|
r"\b(\.size\(\)\)\.isEqualTo\()\b",
|
||||||
r"\.get\([^)(]+\)\)\.isEqualTo",
|
r"\.get\([^)(]+\)\)\.isEqualTo",
|
||||||
|
r"\.isEqualTo\((List|Map|Set)\.of\(",
|
||||||
r"\bCollectors\.toMap\b",
|
r"\bCollectors\.toMap\b",
|
||||||
r"\bCollectors\.toList\b",
|
r"\bCollectors\.toList\b",
|
||||||
re_delimit(re_select([re_case_insensitive(w) for w in DUMB_WORDS])),
|
re_delimit(re_select([re_sentence(w) for w in DUMB_WORDS])),
|
||||||
#RE_DOC_COULD_BE_LINK,
|
#RE_DOC_COULD_BE_LINK,
|
||||||
]
|
]
|
||||||
|
|
||||||
def construct_cmd(rules, target):
|
|
||||||
|
def construct_cmd(rules: list[str], target: str) -> list[str]:
|
||||||
return ['ag', '--java', '(' + re_select(rules) + ')', target]
|
return ['ag', '--java', '(' + re_select(rules) + ')', target]
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
def main():
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
target = args.project
|
target = args.project
|
||||||
|
@ -65,3 +85,6 @@ if __name__ == '__main__':
|
||||||
if result1.returncode == 0 or result2.returncode == 0:
|
if result1.returncode == 0 or result2.returncode == 0:
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user