]> git.ozlabs.org Git - patchwork/blobdiff - patchwork/templatetags/patch.py
trivial: Remove Python < 2.5 code
[patchwork] / patchwork / templatetags / patch.py
index bec0cabcdfca69258473b94524a1721bad41aedc..496dcfcc46e2b775d3646525cf30158a8cc8ceb5 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 from django import template
-import re
+from django.utils.safestring import mark_safe
 
 register = template.Library()
 
-@register.tag(name = 'ifpatcheditable')
-def do_patch_is_editable(parser, token):
-    try:
-        tag_name, patch_var = token.split_contents()
-    except ValueError:
-        raise template.TemplateSyntaxError("%r tag requires one argument" \
-                % token.contents.split()[0])
 
-    end_tag = 'endifpatcheditable'
-    nodelist_true = parser.parse([end_tag, 'else'])
-
-    token = parser.next_token()
-    if token.contents == 'else':
-        nodelist_false = parser.parse([end_tag])
-        parser.delete_first_token()
-    else:
-        nodelist_false = template.NodeList()
-
-    return EditablePatchNode(patch_var, nodelist_true, nodelist_false)
-
-class EditablePatchNode(template.Node):
-    def __init__(self, patch_var, nodelist_true, nodelist_false):
-        self.nodelist_true = nodelist_true
-        self.nodelist_false = nodelist_false
-        self.patch_var = template.Variable(patch_var)
-        self.user_var = template.Variable('user')
-
-    def render(self, context):
-        try:
-            patch = self.patch_var.resolve(context)
-            user = self.user_var.resolve(context)
-        except template.VariableDoesNotExist:
-            return ''
-
-        if not user.is_authenticated():
-            return self.nodelist_false.render(context)
-
-        if not patch.is_editable(user):
-            return self.nodelist_false.render(context)
-
-        return self.nodelist_true.render(context)
+@register.filter(name='patch_tags')
+def patch_tags(patch):
+    counts = []
+    titles = []
+    for tag in patch.project.tags:
+        count = getattr(patch, tag.attr_name)
+        titles.append('%d %s' % (count, tag.name))
+        counts.append(str(count))
+    return mark_safe('<span title="%s">%s</span>' % (
+        ' / '.join(titles),
+        ' '.join(counts)))