diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..59f9f88df --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +* text eol=lf + +*.ico binary +*.jpg binary +*.png binary +*.zip binary +*.mp3 binary +*.gif binary diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..6f84431c1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,4 @@ +language: python +python: "3.7" +script: +- python3 travis.py diff --git a/travis.py b/travis.py new file mode 100644 index 000000000..afbb356db --- /dev/null +++ b/travis.py @@ -0,0 +1,34 @@ +from pathlib import Path +import sys + +errors = [] + + +def find_all(a_str, sub): + for i, line in enumerate(a_str.splitlines(keepends=False)): + column = 0 + while True: + column = line.find(sub, column) + if column == -1: + break + yield i, column + column += len(sub) + + +for f in sorted(Path('.').glob('*.rst')): + try: + content = f.read_text('utf-8') + except UnicodeDecodeError: + errors.append("File {} is not readable as UTF-8. Please set your editor to UTF-8 mode." + "".format(f)) + for line, col in find_all(content, '\t'): + errors.append("File {} contains tab character on line {}:{}. " + "Please convert tabs to spaces.".format(f, line, col)) + for line, col in find_all(content, '\r'): + errors.append("File {} contains windows newline on line {}:{}. " + "Please set your editor to unix newline mode.".format(f, line, col)) + +for error in errors: + print(error) + +sys.exit(len(errors))