Skip to content

Commit ec89ed4

Browse files
author
Waylan Limberg
committed
1 parent a6eb836 commit ec89ed4

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

dingus.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,16 @@
1010
extensions.sort()
1111
extra.extensions.sort()
1212

13+
def get_encoding(content_type, default='utf-8'):
14+
""" Get encoding from content_type. Borrowed from bottle.Response.charset. """
15+
if 'charset=' in content_type:
16+
return content_type.split('charset=')[-1].split(';')[0].strip()
17+
return default
18+
1319
@route('/babelmark')
1420
def babelmark():
1521
""" Provide a hook for http://johnmacfarlane.net/babelmark2/ to use. """
16-
src = request.query.get('text', '')
22+
src = unicode(request.query.get('text', ''), encoding=get_encoding(request.content_type), errors='replace')
1723
return {
1824
'name' : 'Python-Markdown',
1925
'version': markdown.version,
@@ -24,7 +30,7 @@ def babelmark():
2430
def dingus():
2531
context = {'extensions': extensions, 'extra': extra.extensions}
2632
# Get data from GET or POST
27-
context['src'] = request.params.get('src', '')
33+
context['src'] = unicode(request.params.get('src', ''), encoding=get_encoding(request.content_type), errors='replace')
2834
context['ext'] = request.params.getall('ext')
2935
context['safe_mode'] = request.params.get('safe_mode', '')
3036
context['output_format'] = request.params.get('output_format', '')

0 commit comments

Comments
 (0)