Fix CI check for Windows line endings (#2831)

This commit is contained in:
Oxan van Leeuwen 2021-12-01 05:14:25 +01:00 committed by GitHub
parent bfeb0b3639
commit c9190574a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -20,7 +20,7 @@ def find_all(a_str, sub):
# Optimization: If str is not in whole text, then do not try # Optimization: If str is not in whole text, then do not try
# on each line # on each line
return return
for i, line in enumerate(a_str.splitlines()): for i, line in enumerate(a_str.split('\n')):
column = 0 column = 0
while True: while True:
column = line.find(sub, column) column = line.find(sub, column)
@ -172,7 +172,7 @@ def lint_re_check(regex, **kwargs):
return decorator return decorator
def lint_content_find_check(find, **kwargs): def lint_content_find_check(find, only_first=False, **kwargs):
decor = lint_content_check(**kwargs) decor = lint_content_check(**kwargs)
def decorator(func): def decorator(func):
@ -185,6 +185,8 @@ def lint_content_find_check(find, **kwargs):
for line, col in find_all(content, find_): for line, col in find_all(content, find_):
err = func(fname) err = func(fname)
errors.append((line + 1, col + 1, err)) errors.append((line + 1, col + 1, err))
if only_first:
break
return errors return errors
return decor(new_func) return decor(new_func)
@ -234,6 +236,7 @@ def lint_executable_bit(fname):
@lint_content_find_check( @lint_content_find_check(
"\t", "\t",
only_first=True,
exclude=[ exclude=[
"esphome/dashboard/static/ace.js", "esphome/dashboard/static/ace.js",
"esphome/dashboard/static/ext-searchbox.js", "esphome/dashboard/static/ext-searchbox.js",
@ -243,9 +246,9 @@ def lint_tabs(fname):
return "File contains tab character. Please convert tabs to spaces." return "File contains tab character. Please convert tabs to spaces."
@lint_content_find_check("\r") @lint_content_find_check("\r", only_first=True)
def lint_newline(fname): def lint_newline(fname):
return "File contains windows newline. Please set your editor to unix newline mode." return "File contains Windows newline. Please set your editor to Unix newline mode."
@lint_content_check(exclude=["*.svg"]) @lint_content_check(exclude=["*.svg"])