Add travis CI, linter

This commit is contained in:
PeridexisErrant 2015-09-30 09:42:17 +10:00
parent bfd5b11092
commit 0ae7c11b13
2 changed files with 48 additions and 0 deletions

39
misc/lint.py Normal file
View file

@ -0,0 +1,39 @@
#!/usr/bin/env python3
"""Check for tabs and trailing whitespace in text files in all subdirs.
Any other automatic checks should be in this file too.
"""
import os
import sys
text_extensions = ('rst', 'md', 'txt', 'html', 'css', 'js')
def lint():
"""Run linters on all files, print problem files."""
print('Checking for tabs or trailing whitespace...')
failed = False
for root, _, files in os.walk('.'):
for f in files:
fname = os.path.join(root, f)
if '_build' in fname or not any(
fname.endswith(ext) for ext in text_extensions):
continue
with open(fname, encoding='utf-8') as fh:
if '\t' in fh.read():
failed = True
print('ERROR: tabs found in {}'.format(fname))
if any(line.replace('\n', '') != line.rstrip()
for line in fh.readlines()):
failed = True
print('ERROR: trailing whitespace in {}'.format(fname))
if failed:
print('Use your text editor to convert tabs to spaces '
'or trim trailing whitespace with minimal effort.')
sys.exit(failed)
print('All files are OK')
if __name__ == '__main__':
lint()