From 3f0c024754047d92e8ce4aa4ecf93a06865f8448 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 31 Jul 2012 18:37:30 -0500 Subject: PGP key handling updates * Import signatures for all known keys, not just active developers * Ensure we are only showing and accounting for active developers on the master keys page * Add a new table showing signatures between developers Signed-off-by: Dan McGee --- main/templatetags/pgp.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'main/templatetags/pgp.py') diff --git a/main/templatetags/pgp.py b/main/templatetags/pgp.py index 50b1aa17..5c9fe511 100644 --- a/main/templatetags/pgp.py +++ b/main/templatetags/pgp.py @@ -39,6 +39,14 @@ def pgp_key_link(key_id, link_text=None): values = (url, format_key(key_id), link_text) return '%s' % values +@register.simple_tag +def user_pgp_key_link(users, key_id): + matched = [user for user in users if user.userprofile.pgp_key and + user.userprofile.pgp_key[-16:] == key_id[-16:]] + if matched and len(matched) == 1: + return pgp_key_link(key_id, matched[0].get_full_name()) + return pgp_key_link(key_id) + @register.filter def pgp_fingerprint(key_id, autoescape=True): if not key_id: -- cgit v1.2.3-2-g168b From 2fd15b4187f3ef36360ba6dcbf3c8f6cdc7517f9 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sun, 30 Dec 2012 12:53:20 -0600 Subject: Move needs_autoescape attribute to @register.filter This is the preferred and non-deprecated way of doing this in Django 1.4+. Signed-off-by: Dan McGee --- main/templatetags/pgp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main/templatetags/pgp.py') diff --git a/main/templatetags/pgp.py b/main/templatetags/pgp.py index 5c9fe511..581282b4 100644 --- a/main/templatetags/pgp.py +++ b/main/templatetags/pgp.py @@ -47,7 +47,8 @@ def user_pgp_key_link(users, key_id): return pgp_key_link(key_id, matched[0].get_full_name()) return pgp_key_link(key_id) -@register.filter + +@register.filter(needs_autoescape=True) def pgp_fingerprint(key_id, autoescape=True): if not key_id: return u'' @@ -56,7 +57,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 -- cgit v1.2.3-2-g168b From d63a800348f81823f157ec9ed03f9985308c3ea3 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sun, 3 Feb 2013 14:40:41 -0600 Subject: Update user_pgp_key_link template tag to use DeveloperKey model The first of several small updates to use the new data we have available. Signed-off-by: Dan McGee --- main/templatetags/pgp.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'main/templatetags/pgp.py') diff --git a/main/templatetags/pgp.py b/main/templatetags/pgp.py index 581282b4..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 @@ -40,12 +43,14 @@ def pgp_key_link(key_id, link_text=None): return '%s' % values @register.simple_tag -def user_pgp_key_link(users, key_id): - matched = [user for user in users if user.userprofile.pgp_key and - user.userprofile.pgp_key[-16:] == key_id[-16:]] - if matched and len(matched) == 1: - return pgp_key_link(key_id, matched[0].get_full_name()) - return pgp_key_link(key_id) +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) -- cgit v1.2.3-2-g168b