blob: 956de892570cc401f7844fbdc0620d9e7b20f9a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
from django import template
from django.conf import settings
register = template.Library()
def format_key(key_id):
print len(key_id)
if len(key_id) in (8, 20):
return u'0x%s' % key_id
elif len(key_id) == 40:
# normal display format is 5 groups of 4 hex chars seperated by spaces,
# double space, then 5 more groups of 4 hex chars
split = tuple(key_id[i:i+4] for i in range(0, 40, 4))
return u'%s %s' % (' '.join(split[0:5]), ' '.join(split[5:10]))
return u'0x%s' % key_id
@register.simple_tag
def pgp_key_link(key_id):
if not key_id:
return "Unknown"
# Something like 'pgp.mit.edu:11371'
pgp_server = getattr(settings, 'PGP_SERVER', None)
if not pgp_server:
return format_key(key_id)
url = 'http://%s/pks/lookup?op=vindex&fingerprint=on&exact=on&search=0x%s' % \
(pgp_server, key_id)
values = (url, key_id, format_key(key_id))
return '<a href="%s" title="PGP key search for 0x%s">%s</a>' % values
# vim: set ts=4 sw=4 et:
|