Changes to make it work with django 1.11 and python3
[sommitrealweird.git] / sommitrealweird / generic / templatetags / xhtml11rst.py
index 3bc212a4c79f30b7347a6260e8d6cc7ff0966052..6d122ba67d89ef69db035bdc93eff367099a6dc1 100644 (file)
@@ -1,6 +1,6 @@
 from django import template
 from django.conf import settings
-from django.utils.encoding import smart_str, force_unicode
+from django.utils.encoding import smart_bytes, force_text
 from django.utils.safestring import mark_safe
 from generic import docutils_xhtml11
 
@@ -11,12 +11,12 @@ def restructuredtext(value):
         from docutils.core import publish_parts
     except ImportError:
         if settings.DEBUG:
-            raise template.TemplateSyntaxError, "Error in {% restructuredtext %} filter: The Python docutils library isn't installed."
-        return force_unicode(value)
+            raise template.TemplateSyntaxError("Error in {% restructuredtext %} filter: The Python docutils library isn't installed.")
+        return force_text(value)
     else:
         docutils_settings = getattr(settings, "RESTRUCTUREDTEXT_FILTER_SETTINGS", {})
-        parts = publish_parts(source=smart_str(value), writer=docutils_xhtml11.Writer(), settings_overrides=docutils_settings)
-        return mark_safe(force_unicode(parts["fragment"]))
+        parts = publish_parts(source=smart_bytes(value), writer=docutils_xhtml11.Writer(), settings_overrides=docutils_settings)
+        return mark_safe(force_text(parts["fragment"]))
 restructuredtext.is_safe = True
 
 register.filter(restructuredtext)