1 from django import template
2 from django.utils.safestring import mark_safe
6 register = template.Library()
8 @template.defaultfilters.stringfilter
11 return ' '.join(input.split())
15 def can_edit_post(user, post):
16 return user.can_edit_post(post)
20 def decorated_int(number, cls="thousand"):
22 number = int(number) # allow strings or numbers passed in
24 thousands = float(number) / 1000.0
25 format = "%.1f" if number < 99500 else "%.0f"
26 s = format % thousands
28 return mark_safe("<span class=\"%s\">%sk</span>" % (cls, s))
34 def or_preview(setting, request):
35 if request.user.is_superuser:
36 previewing = request.session.get('previewing_settings', {})
37 if setting.name in previewing:
38 return previewing[setting.name]
44 return map and map.get(key, None) or None
48 def contained_in(item, container):
49 return item in container
52 def static_content(content, render_mode):
53 if render_mode == 'markdown':
54 return mark_safe(markdown.markdown(unicode(content), ["settingsparser"]))
55 elif render_mode == "html":
56 return mark_safe(unicode(content))
58 return unicode(content)