aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wkhtmltopdf/tests/tests.py16
-rw-r--r--wkhtmltopdf/utils.py6
2 files changed, 18 insertions, 4 deletions
diff --git a/wkhtmltopdf/tests/tests.py b/wkhtmltopdf/tests/tests.py
index 8f40c5e..822f529 100644
--- a/wkhtmltopdf/tests/tests.py
+++ b/wkhtmltopdf/tests/tests.py
@@ -130,8 +130,14 @@ class TestViews(TestCase):
self.assertEqual(response['Content-Disposition'],
'attachment; filename="4\'5.pdf"')
response = PDFResponse(content=content, filename=u"♥.pdf")
+ try:
+ import unidecode
+ except ImportError:
+ filename = '?.pdf'
+ else:
+ filename = '.pdf'
self.assertEqual(response['Content-Disposition'],
- 'attachment; filename="?.pdf"')
+ 'attachment; filename="{0}"'.format(filename))
# Content as a direct output
response = PDFResponse(content=content, filename="nospace.pdf",
@@ -148,8 +154,14 @@ class TestViews(TestCase):
'inline; filename="4\'5.pdf"')
response = PDFResponse(content=content, filename=u"♥.pdf",
show_content_in_browser=True)
+ try:
+ import unidecode
+ except ImportError:
+ filename = '?.pdf'
+ else:
+ filename = '.pdf'
self.assertEqual(response['Content-Disposition'],
- 'inline; filename="?.pdf"')
+ 'inline; filename="{0}"'.format(filename))
# Content-Type
response = PDFResponse(content=content,
diff --git a/wkhtmltopdf/utils.py b/wkhtmltopdf/utils.py
index 6be961c..1866b4a 100644
--- a/wkhtmltopdf/utils.py
+++ b/wkhtmltopdf/utils.py
@@ -190,9 +190,11 @@ def http_quote(string):
if isinstance(string, six.text_type):
try:
import unidecode
- string = bytes(unidecode.unidecode(string), 'ascii')
except ImportError:
- string = string.encode('ascii', 'replace')
+ pass
+ else:
+ string = unidecode.unidecode(string)
+ string = string.encode('ascii', 'replace')
# Wrap in double-quotes for ; , and the like
string = string.replace(b'\\', b'\\\\').replace(b'"', b'\\"')
return '"{0!s}"'.format(string.decode())