Skip to content

Commit

Permalink
Refactor tidy.py to reduce code duplication.
Browse files Browse the repository at this point in the history
  • Loading branch information
JayNakrani committed Apr 21, 2015
1 parent a0295b7 commit 7453959
Showing 1 changed file with 29 additions and 29 deletions.
58 changes: 29 additions & 29 deletions python/tidy.py
Expand Up @@ -67,38 +67,38 @@ def check_license(contents):
yield (1, "incorrect license")


def check_length(contents):
lines = contents.splitlines(True)
for idx, line in enumerate(lines):
if len(line) >= 160:
yield (idx + 1, "(much) overlong line")
def check_length(idx, line):
if len(line) >= 160:
yield (idx + 1, "(much) overlong line")

def check_whatwg_url(idx, line):
matches = re.findall(r'whatwg.org/multipage.*#', line);
if matches:
for i, match in enumerate(matches):
parts = match.split('multipage')
if len(parts[1]) > 1 and parts[1][1] != '#':
yield (idx + 1, "URL should not point to specific WHATWG multipage page!")

def check_whitespace(idx, line):
if line[-1] == "\n":
line = line[:-1]
else:
yield (idx + 1, "no newline at EOF")

def check_whatwg_url(contents):
lines = contents.splitlines(True)
for idx, line in enumerate(lines):
matches = re.findall(r'whatwg.org/multipage.*#', line);
if matches:
for i, match in enumerate(matches):
parts = match.split('multipage')
if len(parts[1]) > 1 and parts[1][1] != '#':
yield (idx + 1, "URL should not point to specific WHATWG multipage page!")

def check_whitespace(contents):
lines = contents.splitlines(True)
for idx, line in enumerate(lines):
if line[-1] == "\n":
line = line[:-1]
else:
yield (idx + 1, "no newline at EOF")
if line.endswith(" "):
yield (idx + 1, "trailing whitespace")

if line.endswith(" "):
yield (idx + 1, "trailing whitespace")
if "\t" in line:
yield (idx + 1, "tab on line")

if "\t" in line:
yield (idx + 1, "tab on line")
if "\r" in line:
yield (idx + 1, "CR on line")

if "\r" in line:
yield (idx + 1, "CR on line")
def check_whitespace_url_len(contents):
lines = contents.splitlines(True)
for idx, line in enumerate(lines):
for error in itertools.chain(check_length(idx, line), check_whitespace(idx, line), check_whatwg_url(idx, line)):
yield error


def collect_errors_for_files(files_to_check, checking_functions):
Expand Down Expand Up @@ -137,7 +137,7 @@ def scan():
all_files = collect_file_names(directories_to_check)
files_to_check = filter(should_check, all_files)

checking_functions = [check_license, check_length, check_whitespace, check_whatwg_url]
checking_functions = [check_license, check_whitespace_url_len]
errors = collect_errors_for_files(files_to_check, checking_functions)

reftest_files = collect_file_names(reftest_directories)
Expand Down

0 comments on commit 7453959

Please sign in to comment.