Mercurial > hg
view tests/filterpyflakes.py @ 16528:5d803620ca05 stable
doc: flatten description of 'matching()' predicate to be formatted well
current description of 'matching()' revset predicate can't be
formatted well on "hg help revset" output.
each descriptions for revset predicates (or something like them) are
split-ed into lines, and spaces on left side of them are stripped
before minirst processing. so, bullet list can't be nested.
this patch just flattens description of 'matching()' predicate to be
formatted well.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 26 Apr 2012 21:32:48 +0900 |
parents | 08d84bdce1a5 |
children | 77440de177f7 |
line wrap: on
line source
#!/usr/bin/env python # Filter output by pyflakes to control which warnings we check import sys, re, os def makekey(message): # "path/file:line: message" match = re.search(r"(line \d+)", message) line = '' if match: line = match.group(0) message = re.sub(r"(line \d+)", '', message) return re.sub(r"([^:]*):([^:]+):([^']*)('[^']*')(.*)$", r'\3:\5:\4:\1:\2:' + line, message) lines = [] for line in sys.stdin: # We whitelist tests pats = [ r"imported but unused", r"local variable '.*' is assigned to but never used", r"unable to detect undefined names", ] if not re.search('|'.join(pats), line): continue fn = line.split(':', 1)[0] f = open(os.path.join(os.path.dirname(os.path.dirname(__file__)), fn)) data = f.read() f.close() if 'no-check-code' in data: continue lines.append(line) for line in sorted(lines, key = makekey): sys.stdout.write(line) print