Mercurial > public > sg101
diff smiley/__init__.py @ 925:98d2388b6bb2
Smiley app refactor for Django 1.7.7 upgrade.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 12 Apr 2015 21:08:56 -0500 |
parents | 7429c98c8ece |
children |
line wrap: on
line diff
--- a/smiley/__init__.py Thu Apr 09 19:43:07 2015 -0500 +++ b/smiley/__init__.py Sun Apr 12 21:08:56 2015 -0500 @@ -1,70 +0,0 @@ -""" -Smiley classes and functions. - -""" -from django.utils.safestring import SafeData -from django.utils.html import conditional_escape - -from smiley.models import Smiley - - -class SmilifyHtml(object): - """ - A class to "smilify" text by replacing text with HTML img tags for smiley - images. - """ - def __init__(self): - self.map = Smiley.objects.get_smiley_map() - - def convert(self, value, autoescape=False): - """ - Converts and returns the supplied text with the HTML version of the - smileys. - """ - if not value: - return u'' - - if not autoescape or isinstance(value, SafeData): - esc = lambda x: x - else: - esc = conditional_escape - - words = value.split() - for i, word in enumerate(words): - if word in self.map: - words[i] = self.map[word] - else: - words[i] = esc(words[i]) - return u' '.join(words) - - -class SmilifyMarkdown(object): - """ - A class to "smilify" text by replacing text with Markdown image syntax for - smiley images. - """ - def __init__(self, relative_urls=True): - self.regexes = Smiley.objects.get_smiley_regexes( - relative_urls=relative_urls) - - def convert(self, s): - """ - Returns a string copy of the input s that has the smiley codes replaced - with Markdown for smiley images. - """ - if not s: - return u'' - - for regex, repl in self.regexes: - s = regex.sub(repl, s) - return s - - -def smilify_html(value, autoescape=False): - """ - A convenience function to "smilify" text by replacing text with HTML - img tags of smilies. - """ - s = SmilifyHtml() - return s.convert(value, autoescape=autoescape) -