Lint line length, clarify index#about,, README badges

This commit is contained in:
PeridexisErrant 2015-09-30 19:37:38 +10:00
parent 0ae7c11b13
commit c04ac008b0
6 changed files with 38 additions and 31 deletions

View file

@ -5,18 +5,18 @@ Any other automatic checks should be in this file too.
"""
import os
from os.path import *
import sys
text_extensions = ('rst', 'md', 'txt', 'html', 'css', 'js')
def lint():
def lint(path):
"""Run linters on all files, print problem files."""
print('Checking for tabs or trailing whitespace...')
failed = False
for root, _, files in os.walk('.'):
for root, _, files in os.walk(path):
for f in files:
fname = os.path.join(root, f)
fname = join(root, f)
if '_build' in fname or not any(
fname.endswith(ext) for ext in text_extensions):
continue
@ -28,12 +28,20 @@ def lint():
for line in fh.readlines()):
failed = True
print('ERROR: trailing whitespace in {}'.format(fname))
fh.seek(0)
for i, line in enumerate(fh.readlines()):
if len(line) > 81:
failed = True
print('ERROR: {}:{} - line too long'.format(
fname, i + 1))
if failed:
print('Use your text editor to convert tabs to spaces '
print('Use your text editor to convert tabs to spaces, wrap lines '
'or trim trailing whitespace with minimal effort.')
sys.exit(failed)
print('All files are OK')
if __name__ == '__main__':
lint()
# lint everything in the parent directory, wherever the script is run from.
p = relpath(join(dirname(__file__), '..'))
lint(p)