Merge pull request #4163 from matrix-org/rav/fix_consent_on_py3

Fix encoding error for consent form on python3
release-v0.33.9
Richard van der Hoff 2018-11-08 12:48:51 +00:00 committed by GitHub
commit c70809a275
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 6 deletions

1
changelog.d/4163.bugfix Normal file
View File

@ -0,0 +1 @@
Generating the user consent URI no longer fails on Python 3.

View File

@ -121,16 +121,15 @@ def parse_string(request, name, default=None, required=False,
Args:
request: the twisted HTTP request.
name (bytes/unicode): the name of the query parameter.
default (bytes/unicode|None): value to use if the parameter is absent,
name (bytes|unicode): the name of the query parameter.
default (bytes|unicode|None): value to use if the parameter is absent,
defaults to None. Must be bytes if encoding is None.
required (bool): whether to raise a 400 SynapseError if the
parameter is absent, defaults to False.
allowed_values (list[bytes/unicode]): List of allowed values for the
allowed_values (list[bytes|unicode]): List of allowed values for the
string, or None if any value is allowed, defaults to None. Must be
the same type as name, if given.
encoding: The encoding to decode the name to, and decode the string
content with.
encoding (str|None): The encoding to decode the string content with.
Returns:
bytes/unicode|None: A string value or the default. Unicode if encoding

View File

@ -160,7 +160,9 @@ class ConsentResource(Resource):
try:
self._render_template(
request, "%s.html" % (version,),
user=username, userhmac=userhmac, version=version,
user=username,
userhmac=userhmac.decode('ascii'),
version=version,
has_consented=has_consented, public_version=public_version,
)
except TemplateNotFound: