Check for blank line after shebang and grab actual comment block instead of hard-coded one

This commit is contained in:
UK992 2016-08-09 16:14:43 +02:00
parent 48ace17b54
commit 9a3b61abe1
4 changed files with 22 additions and 8 deletions

View file

@ -163,13 +163,23 @@ def licensed_apache(header):
def check_license(file_name, lines):
if any(file_name.endswith(ext) for ext in (".toml", ".lock", ".json")):
raise StopIteration
block = min(len(lines), licenseck.MAX_LICENSE_LINESPAN)
if lines[0].startswith("#!") and lines[1].strip():
yield (1, "missing blank line after shebang")
blank_lines = 0
max_blank_lines = 2 if lines[0].startswith("#!") else 1
license_block = []
for l in lines[:block]:
for l in lines:
l = l.rstrip('\n')
if not l.strip():
blank_lines += 1
if blank_lines >= max_blank_lines:
break
line = uncomment(l)
if line is not None:
license_block += [line]
license_block.append(line)
contents = " ".join(license_block)
valid_license = licensed_mpl(contents) or licensed_apache(contents)
acknowledged_bad_license = "xfail-license" in contents