PEP8 Cleanups

This commit is contained in:
Roberto Rosario
2012-01-01 20:26:16 -04:00
parent 722f70029b
commit 6864f14269
4 changed files with 37 additions and 41 deletions

View File

@@ -4,34 +4,35 @@ import logging
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
from StringIO import StringIO
from django.utils.translation import ugettext_lazy as _
from django.db.models.signals import post_save
from documents.models import Document, DocumentVersion
from navigation.api import register_links, register_top_menu, \
register_model_list_columns, register_multi_item_links, \
register_sidebar_template
from navigation.api import register_links
from django_gpg.runtime import gpg
from django_gpg.exceptions import GPGDecryptionError
from django_gpg.exceptions import GPGDecryptionError
from .models import DocumentVersionSignature
from .permissions import (
PERMISSION_DOCUMENT_VERIFY,
PERMISSION_DOCUMENT_VERIFY,
PERMISSION_SIGNATURE_UPLOAD,
PERMISSION_SIGNATURE_DOWNLOAD
)
)
logger = logging.getLogger(__name__)
def has_embedded_signature(context):
return DocumentVersionSignature.objects.has_embedded_signature(context['object'])
def doesnt_have_detached_signature(context):
return DocumentVersionSignature.objects.has_detached_signature(context['object']) == False
def document_pre_open_hook(descriptor):
try:
result = gpg.decrypt_file(descriptor, close_descriptor=False)
@@ -43,9 +44,10 @@ def document_pre_open_hook(descriptor):
else:
return StringIO(result.data)
def document_post_save(sender, instance, **kwargs):
if kwargs.get('created', False):
DocumentVersionSignature.objects.signature_state(instance.document)
DocumentVersionSignature.objects.signature_state(instance.document)
document_signature_upload = {'text': _(u'upload signature'), 'view': 'document_signature_upload', 'args': 'object.pk', 'famfam': 'pencil_add', 'permissions': [PERMISSION_SIGNATURE_UPLOAD], 'conditional_disable': has_embedded_signature}
document_signature_download = {'text': _(u'download signature'), 'view': 'document_signature_download', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_SIGNATURE_DOWNLOAD], 'conditional_disable': doesnt_have_detached_signature}

View File

@@ -3,7 +3,7 @@ import logging
from django.db import models
from django_gpg.runtime import gpg
from django_gpg.exceptions import GPGVerificationError, GPGDecryptionError
from django_gpg.exceptions import GPGVerificationError
logger = logging.getLogger(__name__)
@@ -33,24 +33,24 @@ class DocumentVersionSignatureManager(models.Manager):
document_signature.save()
else:
raise Exception('document already has an embedded signature')
def has_detached_signature(self, document):
document_signature, created = self.model.objects.get_or_create(
document_version=document.latest_version,
)
)
if document_signature.signature_file:
return True
else:
return False
def has_embedded_signature(self, document):
logger.debug('document: %s' % document)
if self.signature_state(document):
return True
else:
return False
def signature_state(self, document):
document_signature, created = self.model.objects.get_or_create(
document_version=document.latest_version,
@@ -65,26 +65,26 @@ class DocumentVersionSignatureManager(models.Manager):
except GPGVerificationError:
document_signature.signature_state = None
finally:
document_signature.save()
document_signature.save()
#document_signature.signature_state = self.verify_signature(document).status
#document_signature.save()
return document_signature.signature_state
def detached_signature(self, document):
document_signature, created = self.model.objects.get_or_create(
document_version=document.latest_version,
)
)
return document_signature.signature_file.storage.open(document_signature.signature_file.path)
def verify_signature(self, document):
if self.has_detached_signature(document):
logger.debug('has detached signature')
args = (document.open(raw=True), self.detached_signature(document))
else:
args = (document.open(raw=True),)
try:
return gpg.verify_w_retry(*args)
except GPGVerificationError:

View File

@@ -19,9 +19,9 @@ class DocumentVersionSignature(models.Model):
document_version = models.ForeignKey(DocumentVersion, verbose_name=_(u'document version'), editable=False)
signature_state = models.CharField(blank=True, null=True, max_length=16, verbose_name=_(u'signature state'), editable=False)
signature_file = models.FileField(blank=True, null=True, upload_to=get_filename_from_uuid, storage=STORAGE_BACKEND(), verbose_name=_(u'signature file'), editable=False)
objects = DocumentVersionSignatureManager()
class Meta:
verbose_name = _(u'document version signature')
verbose_name_plural = _(u'document version signatures')
verbose_name_plural = _(u'document version signatures')

View File

@@ -8,21 +8,15 @@ from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.utils.safestring import mark_safe
from django.conf import settings
from django.template.defaultfilters import force_escape
from documents.models import Document, RecentDocument
from permissions.api import check_permissions
from common.utils import pretty_size, parse_range, urlquote, \
return_diff, encapsulate
from filetransfers.api import serve_file
from django_gpg.api import Key, SIGNATURE_STATES
from django_gpg.runtime import gpg
from django_gpg.exceptions import (GPGVerificationError, KeyFetchingError,
KeyImportError)
from django_gpg.api import SIGNATURE_STATES
from . import (PERMISSION_DOCUMENT_VERIFY, PERMISSION_SIGNATURE_UPLOAD,
PERMISSION_SIGNATURE_DOWNLOAD)
@@ -30,18 +24,18 @@ from .forms import DetachedSignatureForm
from .models import DocumentVersionSignature
logger = logging.getLogger(__name__)
def document_verify(request, document_pk):
check_permissions(request.user, [PERMISSION_DOCUMENT_VERIFY])
document = get_object_or_404(Document, pk=document_pk)
RecentDocument.objects.add_document_for_user(request.user, document)
signature = DocumentVersionSignature.objects.verify_signature(document)
signature_state = SIGNATURE_STATES.get(getattr(signature, 'status', None))
widget = (u'<img style="vertical-align: middle;" src="%simages/icons/%s" />' % (settings.STATIC_URL, signature_state['icon']))
paragraphs = [
_(u'Signature status: %(widget)s %(text)s') % {
@@ -65,21 +59,21 @@ def document_verify(request, document_pk):
_(u'Signee: %s') % force_escape(getattr(signature, 'username', u'')),
]
)
return render_to_response('generic_template.html', {
'title': _(u'signature properties for: %s') % document,
'object': document,
'document': document,
'paragraphs': paragraphs,
}, context_instance=RequestContext(request))
def document_signature_upload(request, document_pk):
check_permissions(request.user, [PERMISSION_SIGNATURE_UPLOAD])
document = get_object_or_404(Document, pk=document_pk)
RecentDocument.objects.add_document_for_user(request.user, document)
post_action_redirect = None
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/')))
next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/')))
@@ -105,8 +99,8 @@ def document_signature_upload(request, document_pk):
'previous': previous,
'object': document,
}, context_instance=RequestContext(request))
def document_signature_download(request, document_pk):
check_permissions(request.user, [PERMISSION_SIGNATURE_DOWNLOAD])
document = get_object_or_404(Document, pk=document_pk)