Files
@ e965ff6f8cb3
Branch filter:
Location: kallithea/scripts/pyflakes - annotation
e965ff6f8cb3
1.2 KiB
text/plain
setup: avoid bleach 3.1.4 for now - it seems to deliberately cause regressions
See https://github.com/mozilla/bleach/blob/master/CHANGES and
https://github.com/mozilla/bleach/commit/d6018f2539d271963c3e7f54f36ef11900363c69
... which adds xfails for use cases similar to how we use bleach.
It would completely remove style attributes instead of dropping bad parts of
them, as shown by the markup_renderer.py doctest it made fail:
>>> MarkupRenderer.render('''<img id="a" style="margin-top:-1000px;color:red" src="http://example.com/test.jpg">''', '.md')
Expected:
'<p><img id="a" src="http://example.com/test.jpg" style="color: red;"></p>'
Got:
'<p><img id="a" src="http://example.com/test.jpg" style=""></p>'
Until a better solution is found, stick to 3.1.3 and accept the potential
ReDoS.
See https://github.com/mozilla/bleach/blob/master/CHANGES and
https://github.com/mozilla/bleach/commit/d6018f2539d271963c3e7f54f36ef11900363c69
... which adds xfails for use cases similar to how we use bleach.
It would completely remove style attributes instead of dropping bad parts of
them, as shown by the markup_renderer.py doctest it made fail:
>>> MarkupRenderer.render('''<img id="a" style="margin-top:-1000px;color:red" src="http://example.com/test.jpg">''', '.md')
Expected:
'<p><img id="a" src="http://example.com/test.jpg" style="color: red;"></p>'
Got:
'<p><img id="a" src="http://example.com/test.jpg" style=""></p>'
Until a better solution is found, stick to 3.1.3 and accept the potential
ReDoS.
51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 abb83e4edfd9 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 abb83e4edfd9 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 51af7c12ffb1 | #!/usr/bin/env python3
"""
pyflakes with filter configuration for Kallithea.
Inspired by pyflakes/api.py and flake8/plugins/pyflakes.py .
"""
import sys
import pyflakes.api
import pyflakes.messages
class Reporter:
warned = False
def flake(self, warning):
# ignore known warnings
if isinstance(warning, pyflakes.messages.UnusedVariable):
return
if warning.filename == 'kallithea/bin/kallithea_cli_ishell.py':
if isinstance(warning, pyflakes.messages.ImportStarUsed) and warning.message_args == ('kallithea.model.db',):
return
if isinstance(warning, pyflakes.messages.UnusedImport) and warning.message_args == ('kallithea.model.db.*',):
return
print('%s:%s %s [%s %s]' % (warning.filename, warning.lineno, warning.message % warning.message_args, type(warning).__name__, warning.message_args))
self.warned = True
def unexpectedError(self, filename, msg):
print('Unexpected error for %s: %s' % (filename, msg))
reporter = Reporter()
for filename in sorted(set(sys.argv[1:])):
pyflakes.api.checkPath(filename, reporter=reporter)
if reporter.warned:
raise SystemExit(1)
|