Mercurial > public > sg101
view core/markup.py @ 791:0ca691cccf8d
Utilize select_related() for user & user profiles.
This commit also removes the caching of the avatar URL in the
avatar template tag. This is because we are now using select_related,
so we already have the profile & avatar when we get to the tag.
Thus we don't need to waste time querying the cache.
Removed an apparently unused member map template as well.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Fri, 23 May 2014 21:52:41 -0500 |
parents | 216f06267e2d |
children | 7429c98c8ece |
line wrap: on
line source
""" Markup related utitlities useful for the entire project. """ import markdown as _markdown from django.utils.encoding import force_unicode from smiley import SmilifyMarkdown class Markdown(object): """ This is a thin wrapper around the Markdown class which deals with the differences in Markdown versions on the production and development server. This code was inspired by the code in django/contrib/markup/templatetags/markup.py. Currently, we only have to worry about Markdown 1.6b and 2.0. """ def __init__(self, safe_mode='escape'): self.md = _markdown.Markdown(safe_mode=safe_mode, extensions=['urlize', 'nl2br', 'del']) def convert(self, s): return self.md.convert(force_unicode(s)) def markdown(s): """ A convenience function for one-off markdown jobs. """ md = Markdown() return md.convert(s) class SiteMarkup(object): """ This class provides site markup by combining markdown and our own smiley markup. """ def __init__(self): self.md = Markdown() self.smiley = SmilifyMarkdown() def convert(self, s): return self.md.convert(self.smiley.convert(s)) def site_markup(s): """ Convenience function for one-off site markup jobs. """ sm = SiteMarkup() return sm.convert(s)