1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#!/usr/bin/env python
"""
Checker for line endings
~~~~~~~~~~~~~~~~~~~~~~~~
Make sure Python (.py) and Bash completion (.bashcomp) files do not
contain CR/LF newlines.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
import sys
import os
if __name__ == '__main__':
for directory in sys.argv[1:]:
if not os.path.exists(directory):
continue
for root, dirs, files in os.walk(directory):
for filename in files:
if not filename.endswith('.py') and not filename.endswith('.bashcomp'):
continue
full_path = os.path.join(root, filename)
with open(full_path, 'rb') as f:
if b'\r\n' in f.read():
print('CR/LF found in', full_path)
sys.exit(1)
sys.exit(0)
|