markupmirror.markup.restructuredtext: 20 total statements, 100.0% covered

Generated: Wed 2012-04-11 05:19 CDT

Source file: /home/buechler/Sites/django-markupmirror/markupmirror/markup/restructuredtext.py

Stats: 12 executed, 0 missed, 8 excluded, 21 ignored

  1. from django.utils.encoding import smart_str
  2. from django.utils.translation import ugettext_lazy as _
  3. from markupmirror import settings
  4. from markupmirror.markup.base import BaseMarkup
  5. from markupmirror.markup.base import register_markup
  6. class ReStructuredTextMarkup(BaseMarkup):
  7. """Markup transformer for reStructuredText content.
  8. """
  9. codemirror_mode = 'text/x-rst'
  10. title = _(u"reStructuredText")
  11. def __init__(self):
  12. self.filter_settings = settings.RESTRUCTUREDTEXT_FILTER
  13. self.restructuredtext = publish_parts
  14. def convert(self, markup):
  15. parts = self.restructuredtext(
  16. source=smart_str(markup),
  17. writer_name='html4css1',
  18. settings_overrides=self.filter_settings)
  19. # Intentionally return ``html_body`` instead of ``fragment`` as
  20. # Django's templatetag does. ``html_body`` also includes the document's
  21. # title and subtitle, and if the first parts of ``markup`` are
  22. # headlines (=== or ---), they would be stripped off the result
  23. # otherwise.
  24. return parts['html_body']
  25. # Only register if docutils is installed
  26. try:
  27. from docutils.core import publish_parts
  28. register_markup(ReStructuredTextMarkup)
  29. except ImportError:
  30. pass
  31. __all__ = ('ReStructuredTextMarkup',)