mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2026-04-05 19:46:54 +00:00
35 lines
937 B
Python
Executable file
35 lines
937 B
Python
Executable file
#!/usr/bin/env python3
|
|
import argparse
|
|
from typing import Optional
|
|
from typing import Sequence
|
|
|
|
|
|
def main(argv: Optional[Sequence[str]] = None) -> int:
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('filenames', nargs='*')
|
|
parser.add_argument(
|
|
'--max-lines',
|
|
default=30,
|
|
type=int,
|
|
action='store',
|
|
help='Maximum allowable number of lines (default: 30)',
|
|
)
|
|
args = parser.parse_args(argv)
|
|
|
|
retcode = 0
|
|
for filename in args.filenames:
|
|
with open(filename) as file:
|
|
file_content = file.readlines()
|
|
number_of_lines = len(file_content)
|
|
if number_of_lines > args.max_lines:
|
|
print(
|
|
f'{filename} ({number_of_lines} lines) exceeds '
|
|
f'{args.max_lines} lines.',
|
|
)
|
|
retcode = 1
|
|
|
|
return retcode
|
|
|
|
|
|
if __name__ == '__main__':
|
|
exit(main())
|