summaryrefslogtreecommitdiff
path: root/main/templatetags/pgp.py
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2013-04-21 02:22:44 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2013-04-21 02:22:44 -0400
commit03fa7e4f27bdb39a8f8f5ed91a87d18bf8357b47 (patch)
treec67eafcbda55706f18400b3115a2b8a5be318394 /main/templatetags/pgp.py
parent91c451821ce7000cbc268cec8427d208a6cedd7e (diff)
parentb8ee7b1ee281b45b245fb454228b8ad847c56200 (diff)
Merge branch 'archweb' into archweb-generic2
Conflicts: devel/views.py feeds.py public/views.py settings.py sitestatic/archweb.js templates/base.html templates/devel/profile.html templates/mirrors/status.html templates/news/view.html templates/packages/flaghelp.html templates/packages/opensearch.xml templates/public/download.html templates/public/feeds.html templates/public/index.html templates/registration/login.html templates/releng/results.html templates/todolists/public_list.html
Diffstat (limited to 'main/templatetags/pgp.py')
-rw-r--r--main/templatetags/pgp.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/main/templatetags/pgp.py b/main/templatetags/pgp.py
index 50b1aa17..afad9df2 100644
--- a/main/templatetags/pgp.py
+++ b/main/templatetags/pgp.py
@@ -3,8 +3,11 @@ from django.conf import settings
from django.utils.html import conditional_escape
from django.utils.safestring import mark_safe
+from devel.models import DeveloperKey
+
register = template.Library()
+
def format_key(key_id):
if len(key_id) in (8, 20):
return u'0x%s' % key_id
@@ -39,7 +42,18 @@ def pgp_key_link(key_id, link_text=None):
values = (url, format_key(key_id), link_text)
return '<a href="%s" title="PGP key search for %s">%s</a>' % values
-@register.filter
+@register.simple_tag
+def user_pgp_key_link(key_id):
+ normalized = key_id[-16:]
+ try:
+ matching_key = DeveloperKey.objects.select_related(
+ 'owner').get(key=normalized, owner_id__isnull=False)
+ except DeveloperKey.DoesNotExist:
+ return pgp_key_link(key_id)
+ return pgp_key_link(key_id, matching_key.owner.get_full_name())
+
+
+@register.filter(needs_autoescape=True)
def pgp_fingerprint(key_id, autoescape=True):
if not key_id:
return u''
@@ -48,7 +62,6 @@ def pgp_fingerprint(key_id, autoescape=True):
else:
esc = lambda x: x
return mark_safe(format_key(esc(key_id)))
-pgp_fingerprint.needs_autoescape = True
@register.assignment_tag