Make the python scripts py3 and pep8 compatible

This commit is contained in:
mcarton 2016-01-29 22:24:08 +01:00
parent 3a39bbaf74
commit 997a565aeb
2 changed files with 29 additions and 12 deletions

View file

@ -1,7 +1,8 @@
#!/usr/bin/env python #!/usr/bin/env python
# Generate a Markdown table of all lints, and put it in README.md. # Generate a Markdown table of all lints, and put it in README.md.
# With -n option, only print the new table to stdout. # With -n option, only print the new table to stdout.
# With -c option, print a warning and set exit status to 1 if a file would be changed. # With -c option, print a warning and set exit status to 1 if a file would be
# changed.
import os import os
import re import re
@ -18,6 +19,7 @@ nl_escape_re = re.compile(r'\\\n\s*')
wiki_link = 'https://github.com/Manishearth/rust-clippy/wiki' wiki_link = 'https://github.com/Manishearth/rust-clippy/wiki'
def collect(lints, fn): def collect(lints, fn):
"""Collect all lints from a file. """Collect all lints from a file.

View file

@ -1,8 +1,12 @@
#!/usr/bin/env python #!/usr/bin/env python
# Generate the wiki Home.md page from the contained doc comments # Generate the wiki Home.md page from the contained doc comments
# requires the checked out wiki in ../rust-clippy.wiki/ # requires the checked out wiki in ../rust-clippy.wiki/
# with -c option, print a warning and set exit status 1 if the file would be changed. # with -c option, print a warning and set exit status 1 if the file would be
import os, re, sys # changed.
import os
import re
import sys
def parse_path(p="src"): def parse_path(p="src"):
d = {} d = {}
@ -14,10 +18,10 @@ def parse_path(p="src"):
START = 0 START = 0
LINT = 1 LINT = 1
def parse_file(d, f): def parse_file(d, f):
last_comment = [] last_comment = []
comment = True comment = True
lint = None
with open(f) as rs: with open(f) as rs:
for line in rs: for line in rs:
@ -35,27 +39,33 @@ def parse_file(d, f):
l = line.strip() l = line.strip()
m = re.search(r"pub\s+([A-Z_]+)", l) m = re.search(r"pub\s+([A-Z_]+)", l)
if m: if m:
print "found %s in %s" % (m.group(1).lower(), f) print("found %s in %s" % (m.group(1).lower(), f))
d[m.group(1).lower()] = last_comment d[m.group(1).lower()] = last_comment
last_comment = [] last_comment = []
comment = True comment = True
if "}" in l: if "}" in l:
print "Warning: Missing Lint-Name in", f print("Warning: Missing Lint-Name in", f)
comment = True comment = True
PREFIX = """Welcome to the rust-clippy wiki! PREFIX = """Welcome to the rust-clippy wiki!
Here we aim to collect further explanations on the lints clippy provides. So without further ado: Here we aim to collect further explanations on the lints clippy provides. So \
without further ado:
""" """
WARNING = """ WARNING = """
# A word of warning # A word of warning
Clippy works as a *plugin* to the compiler, which means using an unstable internal API. We have gotten quite good at keeping pace with the API evolution, but the consequence is that clippy absolutely needs to be compiled with the version of `rustc` it will run on, otherwise you will get strange errors of missing symbols.""" Clippy works as a *plugin* to the compiler, which means using an unstable \
internal API. We have gotten quite good at keeping pace with the API \
evolution, but the consequence is that clippy absolutely needs to be compiled \
with the version of `rustc` it will run on, otherwise you will get strange \
errors of missing symbols."""
def write_wiki_page(d, f): def write_wiki_page(d, f):
keys = d.keys() keys = list(d.keys())
keys.sort() keys.sort()
with open(f, "w") as w: with open(f, "w") as w:
w.write(PREFIX) w.write(PREFIX)
@ -65,6 +75,7 @@ def write_wiki_page(d, f):
for k in keys: for k in keys:
w.write("\n# `%s`\n\n%s" % (k, "".join(d[k]))) w.write("\n# `%s`\n\n%s" % (k, "".join(d[k])))
def check_wiki_page(d, f): def check_wiki_page(d, f):
errors = [] errors = []
with open(f) as w: with open(f) as w:
@ -74,17 +85,21 @@ def check_wiki_page(d, f):
v = d.pop(m.group(1), "()") v = d.pop(m.group(1), "()")
if v == "()": if v == "()":
errors.append("Missing wiki entry: " + m.group(1)) errors.append("Missing wiki entry: " + m.group(1))
keys = d.keys() keys = list(d.keys())
keys.sort() keys.sort()
for k in keys: for k in keys:
errors.append("Spurious wiki entry: " + k) errors.append("Spurious wiki entry: " + k)
if errors: if errors:
print "\n".join(errors) print("\n".join(errors))
sys.exit(1) sys.exit(1)
if __name__ == "__main__":
def main():
d = parse_path() d = parse_path()
if "-c" in sys.argv: if "-c" in sys.argv:
check_wiki_page(d, "../rust-clippy.wiki/Home.md") check_wiki_page(d, "../rust-clippy.wiki/Home.md")
else: else:
write_wiki_page(d, "../rust-clippy.wiki/Home.md") write_wiki_page(d, "../rust-clippy.wiki/Home.md")
if __name__ == "__main__":
main()