aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wkhtmltopdf/tests/tests.py20
-rw-r--r--wkhtmltopdf/utils.py6
2 files changed, 20 insertions, 6 deletions
diff --git a/wkhtmltopdf/tests/tests.py b/wkhtmltopdf/tests/tests.py
index c15d88f..fc1545d 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")
- self.assertEqual(response['Content-Disposition'],
- 'attachment; filename="?.pdf"')
+ try:
+ import unidecode
+ except ImportError:
+ self.assertEqual(response['Content-Disposition'],
+ 'attachment; filename="?.pdf"')
+ else:
+ self.assertEqual(response['Content-Disposition'],
+ 'attachment; filename=".pdf"')
# 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)
- self.assertEqual(response['Content-Disposition'],
- 'inline; filename="?.pdf"')
+ try:
+ import unidecode
+ except ImportError:
+ self.assertEqual(response['Content-Disposition'],
+ 'inline; filename="?.pdf"')
+ else:
+ self.assertEqual(response['Content-Disposition'],
+ 'inline; filename=".pdf"')
# Content-Type
response = PDFResponse(content=content,
diff --git a/wkhtmltopdf/utils.py b/wkhtmltopdf/utils.py
index 3d125bb..f002066 100644
--- a/wkhtmltopdf/utils.py
+++ b/wkhtmltopdf/utils.py
@@ -186,9 +186,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())