Mercurial > kallithea
view scripts/pyflakes @ 8276:fdde16d7cea0
celery: fix send_email to work with JSON encoding (Issue #363)
Long time ago, c935bcaf7086 introduced an optional User object parameter to the
send_email task and used the computed full_name_or_username property. Due to the
magic of pickle, that also worked when using Celery to run the task async.
Now, Celery 4 changed the default encoding from Pickle to JSON, which we
anticipated in e539db6cc0da. That broke send_email in some cases, for example
when a user comments on another user's changeset.
Fixed by passing the "From" name as string instead of passing the whole User
object.
Thanks to vyom for reporting.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 29 Feb 2020 16:06:30 +0100 |
parents | 51af7c12ffb1 |
children | abb83e4edfd9 |
line wrap: on
line source
#!/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)