Remove python-hkp dependency. Closes gh-issue #170

This commit is contained in:
Roberto Rosario
2015-06-02 01:40:37 -04:00
parent 8176326a16
commit 97e884ae23
5 changed files with 37 additions and 47 deletions

View File

@@ -1,12 +1,13 @@
from __future__ import absolute_import, unicode_literals
from datetime import datetime
import logging
from django.conf import settings
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.shortcuts import redirect, render_to_response
from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _
@@ -28,33 +29,35 @@ logger = logging.getLogger(__name__)
def key_receive(request, key_id):
Permission.objects.check_permissions(request.user, [PERMISSION_KEY_RECEIVE])
post_action_redirect = None
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', reverse(settings.LOGIN_REDIRECT_URL))))
if request.method == 'POST':
try:
term = request.GET.get('term')
results = gpg.query(term)
keys_dict = dict([(key.keyid, key) for key in results])
key = gpg.import_key(keys_dict[key_id].key)
messages.success(request, _('Key: %s, imported successfully.') % key)
return HttpResponseRedirect(next)
except (KeyImportError, KeyError, TypeError) as exception:
gpg.receive_key(key_id=key_id)
except Exception as exception:
messages.error(
request,
_('Unable to import key id: %(key_id)s; %(error)s') %
_('Unable to import key: %(key_id)s; %(error)s') %
{
'key_id': key_id,
'error': exception,
}
)
return HttpResponseRedirect(previous)
else:
messages.success(
request,
_('Successfully received key: %(key_id)s') %
{
'key_id': key_id,
}
)
return redirect('django_gpg:key_public_list')
return render_to_response('appearance/generic_confirm.html', {
'title': _('Import key'),
'message': _('Are you sure you wish to import key id: %s?') % key_id,
'next': next,
'previous': previous,
'submit_method': 'GET',
@@ -146,40 +149,27 @@ def key_query(request):
'extra_columns': [
{
'name': _('ID'),
'attribute': 'keyid',
'attribute': 'key_id',
},
{
'name': _('Type'),
'attribute': 'algo',
'attribute': 'key_type',
},
{
'name': _('Creation date'),
'attribute': 'creation_date',
},
{
'name': _('Disabled'),
'attribute': 'disabled',
'attribute': encapsulate(lambda x: datetime.fromtimestamp(int(x.date)))
},
{
'name': _('Expiration date'),
'attribute': 'expiration_date',
},
{
'name': _('Expired'),
'attribute': 'expired',
'attribute': encapsulate(lambda x: datetime.fromtimestamp(int(x.expires)) if x.expires else _('No expiration'))
},
{
'name': _('Length'),
'attribute': 'key_length',
'attribute': 'length',
},
{
'name': _('Revoked'),
'attribute': 'revoked',
},
{
'name': _('Identifies'),
'attribute': encapsulate(lambda x: ', '.join([identity.uid for identity in x.identities])),
'name': _('Identities'),
'attribute': encapsulate(lambda x: ', '.join(x.uids)),
},
]
},