Commit 6d967701 by Gabriel

Test more unicode. Comment and style.

parent afa51e9e
...@@ -286,6 +286,8 @@ def header_for_filename(filename, disposition='attachment', ...@@ -286,6 +286,8 @@ def header_for_filename(filename, disposition='attachment',
if is_token(filename): if is_token(filename):
return '%s; filename=%s' % (disposition, filename) return '%s; filename=%s' % (disposition, filename)
# alnum are already considered always-safe, but the rest isn't.
# Python encodes ~ when it shouldn't, for example.
return "%s; filename*=utf-8''%s" % (disposition, quote( return "%s; filename*=utf-8''%s" % (disposition, quote(
filename.encode('utf-8'), safe=attr_chars_nonalnum)) filename.encode('utf-8'), safe=attr_chars_nonalnum))
...@@ -297,7 +299,8 @@ def test_cdfh(): ...@@ -297,7 +299,8 @@ def test_cdfh():
assert cdfh('attachment; key=val').assocs['key'] == 'val' assert cdfh('attachment; key=val').assocs['key'] == 'val'
assert cdfh('attachment; filename=simple').filename_unsafe == 'simple' assert cdfh('attachment; filename=simple').filename_unsafe == 'simple'
cd = cdfh( cd = cdfh(
'attachment; filename="EURO rates"; filename*=utf-8\'\'%e2%82%ac%20rates') 'attachment; filename="EURO rates";'
' filename*=utf-8\'\'%e2%82%ac%20rates')
assert cd.filename_unsafe == u'€ rates' assert cd.filename_unsafe == u'€ rates'
def roundtrip(filename): def roundtrip(filename):
...@@ -307,6 +310,6 @@ def test_cdfh(): ...@@ -307,6 +310,6 @@ def test_cdfh():
def assert_roundtrip(filename): def assert_roundtrip(filename):
assert roundtrip(filename) == filename assert roundtrip(filename) == filename
assert_roundtrip(u'aéioou"qfsdf!') assert_roundtrip(u'aéio o♥u"qfsdf!')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment