Changeset 5341
- Timestamp:
- 05/25/07 04:30:43 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/unicode/django/contrib/markup/templatetags/markup.py
r5274 r5341 17 17 from django import template 18 18 from django.conf import settings 19 from django.utils.encoding import smart_str, smart_unicode19 from django.utils.encoding import smart_str, force_unicode 20 20 21 21 register = template.Library() … … 27 27 if settings.DEBUG: 28 28 raise template.TemplateSyntaxError, "Error in {% textile %} filter: The Python textile library isn't installed." 29 return smart_unicode(value)29 return force_unicode(value) 30 30 else: 31 return smart_unicode(textile.textile(smart_str(value), encoding='utf-8', output='utf-8'))31 return force_unicode(textile.textile(smart_str(value), encoding='utf-8', output='utf-8')) 32 32 33 33 def markdown(value): … … 37 37 if settings.DEBUG: 38 38 raise template.TemplateSyntaxError, "Error in {% markdown %} filter: The Python markdown library isn't installed." 39 return smart_unicode(value)39 return force_unicode(value) 40 40 else: 41 return smart_unicode(markdown.markdown(smart_str(value)))41 return force_unicode(markdown.markdown(smart_str(value))) 42 42 43 43 def restructuredtext(value): … … 47 47 if settings.DEBUG: 48 48 raise template.TemplateSyntaxError, "Error in {% restructuredtext %} filter: The Python docutils library isn't installed." 49 return smart_unicode(value)49 return force_unicode(value) 50 50 else: 51 51 docutils_settings = getattr(settings, "RESTRUCTUREDTEXT_FILTER_SETTINGS", {}) 52 52 parts = publish_parts(source=smart_str(value), writer_name="html4css1", settings_overrides=docutils_settings) 53 return smart_unicode(parts["fragment"])53 return force_unicode(parts["fragment"]) 54 54 55 55 register.filter(textile)
