Modernize exception handling, and improves Python 3.x compatibility

This commit is contained in:
Roberto Rosario
2014-07-20 16:42:30 -04:00
parent 5d2c2e2bc9
commit 6b169b4526
20 changed files with 90 additions and 91 deletions

View File

@@ -41,7 +41,7 @@ Are you sure you want to do this?
if confirm == 'yes':
try:
Cleanup.execute_all()
except Exception, e:
except Exception as exception:
raise CommandError("""Unable to erase data. Possible reasons:
* The database isn't running or isn't configured correctly.
* At least one of the expected database tables doesn't exist.""")

View File

@@ -110,9 +110,9 @@ def bootstrap_setup_delete(request, bootstrap_setup_pk):
try:
bootstrap.delete()
messages.success(request, _(u'Bootstrap setup: %s deleted successfully.') % bootstrap)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Bootstrap setup: %(bootstrap)s, delete error: %(error)s') % {
'bootstrap': bootstrap, 'error': e})
'bootstrap': bootstrap, 'error': exception})
return HttpResponseRedirect(reverse('bootstrap_setup_list'))
@@ -327,8 +327,8 @@ def bootstrap_setup_repository_sync(request):
try:
BootstrapSetup.objects.repository_sync()
messages.success(request, _(u'Bootstrap repository successfully synchronized.'))
except Exception, e:
messages.error(request, _(u'Bootstrap repository synchronization error: %(error)s') % {'error': e})
except Exception as exception:
messages.error(request, _(u'Bootstrap repository synchronization error: %(error)s') % {'error': exception})
return HttpResponseRedirect(reverse('bootstrap_setup_list'))

View File

@@ -7,7 +7,8 @@ from .conf.settings import KEYSERVERS, GPG_HOME
try:
gpg = GPG(home=GPG_HOME, keyservers=KEYSERVERS)
except Exception, e:
except Exception as exception:
gpg = GPG(keyservers=KEYSERVERS)
sys.stderr.write(u'ERROR: GPG initialization error: %s\n' % e)
# TODO: Maybe raise a standard exception to signify configuration error
sys.stderr.write(u'ERROR: GPG initialization error: %s\n' % exception)
sys.stderr.write(u'INFO: Initializating GPG with system default home\n')

View File

@@ -36,13 +36,13 @@ def key_receive(request, key_id):
key = gpg.import_key(keys_dict[key_id].key)
messages.success(request, _(u'Key: %s, imported successfully.') % key)
return HttpResponseRedirect(next)
except (KeyImportError, KeyError, TypeError), e:
except (KeyImportError, KeyError, TypeError) as exception:
messages.error(
request,
_(u'Unable to import key id: %(key_id)s; %(error)s') %
{
'key_id': key_id,
'error': e,
'error': exception,
}
)
return HttpResponseRedirect(previous)

View File

@@ -1,22 +1,22 @@
from __future__ import absolute_import
from django.shortcuts import render_to_response, get_object_or_404
from django.utils.translation import ugettext_lazy as _
from django.contrib.comments.models import Comment
from django.http import HttpResponseRedirect
from django.template import RequestContext
from django.contrib import messages
from django.contrib.comments.models import Comment
from django.contrib.contenttypes.models import ContentType
from django.contrib.sites.models import Site
from django.core.exceptions import PermissionDenied
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _
from acls.models import AccessEntry
from permissions.models import Permission
from documents.models import Document
from permissions.models import Permission
from .permissions import (PERMISSION_COMMENT_CREATE,
PERMISSION_COMMENT_DELETE, PERMISSION_COMMENT_VIEW)
from .forms import CommentForm
from .permissions import (PERMISSION_COMMENT_CREATE, PERMISSION_COMMENT_DELETE,
PERMISSION_COMMENT_VIEW)
def comment_delete(request, comment_id=None, comment_id_list=None):
@@ -44,9 +44,9 @@ def comment_delete(request, comment_id=None, comment_id_list=None):
try:
comment.delete()
messages.success(request, _(u'Comment "%s" deleted successfully.') % comment)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting comment "%(comment)s": %(error)s') % {
'comment': comment, 'error': e
'comment': comment, 'error': exception
})
return HttpResponseRedirect(next)

View File

@@ -127,8 +127,8 @@ def document_signature_download(request, document_pk):
save_as=u'"%s.sig"' % document.filename,
content_type=u'application/octet-stream'
)
except Exception, e:
messages.error(request, e)
except Exception as exception:
messages.error(request, exception)
return HttpResponseRedirect(request.META['HTTP_REFERER'])
return HttpResponseRedirect(request.META['HTTP_REFERER'])

View File

@@ -23,8 +23,8 @@ class DocumentPageTransformationManager(models.Manager):
'arguments': literal_eval(transformation['arguments'].strip())
}
)
except (ValueError, SyntaxError), e:
warnings.append(e)
except (ValueError, SyntaxError) as exception:
warnings.append(exception)
return transformations, warnings

View File

@@ -94,8 +94,8 @@ def folder_edit(request, folder_id):
folder.save()
messages.success(request, _(u'Folder edited successfully'))
return HttpResponseRedirect(reverse('folder_list'))
except Exception, e:
messages.error(request, _(u'Error editing folder; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error editing folder; %s') % exception)
else:
form = FolderForm(instance=folder)
@@ -125,9 +125,9 @@ def folder_delete(request, folder_id):
try:
folder.delete()
messages.success(request, _(u'Folder: %s deleted successfully.') % folder)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Folder: %(folder)s delete error: %(error)s') % {
'folder': folder, 'error': e})
'folder': folder, 'error': exception})
return HttpResponseRedirect(next)
@@ -267,9 +267,9 @@ def folder_document_remove(request, folder_id, document_id=None, document_id_lis
try:
folder.remove_document(folder_document)
messages.success(request, _(u'Document: %s removed successfully.') % folder_document)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Document: %(document)s delete error: %(error)s') % {
'document': folder_document, 'error': e})
'document': folder_document, 'error': exception})
return HttpResponseRedirect(next)

View File

@@ -106,8 +106,8 @@ def _process_history_text(history, text):
for key, value in history.get_expressions().items():
try:
expressions_dict[key] = eval(value, key_values.copy())
except Exception, e:
expressions_dict[key] = e
except Exception as exception:
expressions_dict[key] = exception
key_values.update(expressions_dict)
return text % key_values

View File

@@ -54,25 +54,25 @@ class SmartLinkManager(models.Manager):
elif condition.inclusion == INCLUSION_OR:
total_query |= query
except Exception, e:
errors.append(e)
except Exception as exception:
errors.append(exception)
value_query = Q()
query = Q()
if total_query:
try:
document_qs = Document.objects.filter(total_query)
result[smart_link] = {'documents': document_qs.order_by('date_added') or []}
except Exception, e:
except Exception as exception:
result[smart_link] = {'documents': []}
errors.append(e)
errors.append(exception)
else:
result[smart_link] = {'documents': []}
if smart_link.dynamic_title:
try:
result[smart_link]['title'] = eval(smart_link.dynamic_title, eval_dict)
except Exception, e:
result[smart_link]['title'] = 'Error; %s' % e
except Exception as exception:
result[smart_link]['title'] = 'Error; %s' % exception
else:
result[smart_link]['title'] = smart_link.title

View File

@@ -84,8 +84,8 @@ def metadata_edit(request, document_id=None, document_id_list=None):
if form.cleaned_data['update']:
try:
save_metadata_list([form.cleaned_data], document)
except Exception, e:
errors.append(e)
except Exception as exception:
errors.append(exception)
if errors:
for error in errors:
@@ -165,7 +165,6 @@ def metadata_add(request, document_id=None, document_id_list=None):
form = AddMetadataForm()
context = {
# 'form_display_mode_table': True,
'form': form,
'next': next,
}
@@ -309,13 +308,12 @@ def setup_metadata_type_edit(request, metadatatype_id):
if request.method == 'POST':
form = MetadataTypeForm(instance=metadata_type, data=request.POST)
if form.is_valid():
# folder.title = form.cleaned_data['title']
try:
form.save()
messages.success(request, _(u'Metadata type edited successfully'))
return HttpResponseRedirect(reverse('setup_metadata_type_list'))
except Exception, e:
messages.error(request, _(u'Error editing metadata type; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error editing metadata type; %s') % exception)
pass
else:
form = MetadataTypeForm(instance=metadata_type)
@@ -360,9 +358,9 @@ def setup_metadata_type_delete(request, metadatatype_id):
try:
metadata_type.delete()
messages.success(request, _(u'Metadata type: %s deleted successfully.') % metadata_type)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Metadata type: %(metadata_type)s delete error: %(error)s') % {
'metadata_type': metadata_type, 'error': e})
'metadata_type': metadata_type, 'error': exception})
return HttpResponseRedirect(next)
@@ -411,8 +409,8 @@ def setup_metadata_set_edit(request, metadata_set_id):
form.save()
messages.success(request, _(u'Metadata set edited successfully'))
return HttpResponseRedirect(reverse('setup_metadata_set_list'))
except Exception, e:
messages.error(request, _(u'Error editing metadata set; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error editing metadata set; %s') % exception)
pass
else:
form = MetadataSetForm(instance=metadata_set)
@@ -501,9 +499,9 @@ def setup_metadata_set_delete(request, metadata_set_id):
metadata_set.delete()
messages.success(request, _(u'Metadata set: %s deleted successfully.') % metadata_set)
return HttpResponseRedirect(post_action_redirect)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Metadata set: %(metadata_set)s delete error: %(error)s') % {
'metadata_set': metadata_set, 'error': e})
'metadata_set': metadata_set, 'error': exception})
return HttpResponseRedirect(previous)
context = {

View File

@@ -77,8 +77,8 @@ def task_process_document_queues():
if oldest_queued_document_qs:
oldest_queued_document = oldest_queued_document_qs.order_by('datetime_submitted')[0]
process_job(task_process_queue_document, oldest_queued_document.pk)
except Exception, e:
logger.error('unhandled exception: %s' % e)
except Exception as exception:
logger.error('unhandled exception: %s' % exception)
finally:
# Don't process anymore from this queryset, might be stale
break

View File

@@ -86,9 +86,9 @@ def queue_document_delete(request, queue_document_id=None, queue_document_id_lis
messages.success(request, _(u'Queue document: %(document)s deleted successfully.') % {
'document': queue_document.document})
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting document: %(document)s; %(error)s') % {
'document': queue_document, 'error': e})
'document': queue_document, 'error': exception})
return HttpResponseRedirect(next)
context = {
@@ -145,8 +145,8 @@ def submit_document_to_queue(request, document, post_submit_redirect=None):
messages.warning(request, _(u'Document: %(document)s is already queued.') % {
'document': document}
)
except Exception, e:
messages.error(request, e)
except Exception as exception:
messages.error(request, exception)
if post_submit_redirect:
return HttpResponseRedirect(post_submit_redirect)
@@ -278,8 +278,8 @@ def all_document_ocr_cleanup(request):
try:
clean_pages()
messages.success(request, _(u'Document pages content clean up complete.'))
except Exception, e:
messages.error(request, _(u'Document pages content clean up error: %s') % e)
except Exception as exception:
messages.error(request, _(u'Document pages content clean up error: %s') % exception)
return HttpResponseRedirect(next)

View File

@@ -24,8 +24,8 @@ def form_view(request):
except AlreadyRegistered:
messages.error(request, _(u'Your copy is already registered.'))
return HttpResponseRedirect('/')
except Exception, e:
messages.error(request, _(u'Error submiting form; %s.') % e)
except Exception as exception:
messages.error(request, _(u'Error submiting form; %s.') % exception)
else:
form = RegistrationForm()

View File

@@ -35,8 +35,8 @@ class Command(LabelCommand):
try:
metadata_dict = loads(options['metadata'])
metadata_dict_list = convert_dict_to_dict_list(metadata_dict)
except Exception, e:
sys.exit('Metadata error: %s' % e)
except Exception as exception:
sys.exit('Metadata error: %s' % exception)
else:
metadata_dict_list = None

View File

@@ -20,7 +20,7 @@ class SourceTransformationManager(models.Manager):
'arguments': literal_eval(transformation['arguments'].strip())
}
)
except (ValueError, SyntaxError), e:
warnings.append(e)
except (ValueError, SyntaxError) as exception:
warnings.append(exception)
return transformations, warnings

View File

@@ -189,10 +189,10 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
return HttpResponseRedirect(request.get_full_path())
except NewDocumentVersionNotAllowed:
messages.error(request, _(u'New version uploads are not allowed for this document.'))
except Exception, e:
except Exception as exception:
if settings.DEBUG:
raise
messages.error(request, _(u'Unhandled exception: %s') % e)
messages.error(request, _(u'Unhandled exception: %s') % exception)
else:
form = WebFormForm(
show_expand=(web_form.uncompress == SOURCE_UNCOMPRESS_CHOICE_ASK) and not document,
@@ -270,10 +270,10 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
return HttpResponseRedirect(request.get_full_path())
except NewDocumentVersionNotAllowed:
messages.error(request, _(u'New version uploads are not allowed for this document.'))
except Exception, e:
except Exception as exception:
if settings.DEBUG:
raise
messages.error(request, _(u'Unhandled exception: %s') % e)
messages.error(request, _(u'Unhandled exception: %s') % exception)
else:
form = StagingDocumentForm(document_type=document_type,
show_expand=(staging_folder.uncompress == SOURCE_UNCOMPRESS_CHOICE_ASK) and not document,
@@ -282,8 +282,8 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
)
try:
staging_filelist = list(staging_folder.get_files())
except Exception as e:
messages.error(request, e)
except Exception as exception:
messages.error(request, exception)
staging_filelist = []
finally:
if document:
@@ -443,8 +443,8 @@ def setup_source_edit(request, source_type, source_id):
form.save()
messages.success(request, _(u'Source edited successfully'))
return HttpResponseRedirect(next)
except Exception, e:
messages.error(request, _(u'Error editing source; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error editing source; %s') % exception)
else:
form = form_class(instance=source)
@@ -484,9 +484,9 @@ def setup_source_delete(request, source_type, source_id):
try:
source.delete()
messages.success(request, _(u'Source "%s" deleted successfully.') % source)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting source "%(source)s": %(error)s') % {
'source': source, 'error': e
'source': source, 'error': exception
})
return HttpResponseRedirect(redirect_view)
@@ -526,8 +526,8 @@ def setup_source_create(request, source_type):
form.save()
messages.success(request, _(u'Source created successfully'))
return HttpResponseRedirect(reverse('setup_web_form_list'))
except Exception, e:
messages.error(request, _(u'Error creating source; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error creating source; %s') % exception)
else:
form = form_class()
@@ -586,8 +586,8 @@ def setup_source_transformation_edit(request, transformation_id):
form.save()
messages.success(request, _(u'Source transformation edited successfully'))
return HttpResponseRedirect(next)
except Exception, e:
messages.error(request, _(u'Error editing source transformation; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error editing source transformation; %s') % exception)
else:
form = SourceTransformationForm(instance=source_transformation)
@@ -616,9 +616,9 @@ def setup_source_transformation_delete(request, transformation_id):
try:
source_transformation.delete()
messages.success(request, _(u'Source transformation deleted successfully.'))
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting source transformation; %(error)s') % {
'error': e}
'error': exception}
)
return HttpResponseRedirect(redirect_view)
@@ -662,8 +662,8 @@ def setup_source_transformation_create(request, source_type, source_id):
source_tranformation.save()
messages.success(request, _(u'Source transformation created successfully'))
return HttpResponseRedirect(redirect_view)
except Exception, e:
messages.error(request, _(u'Error creating source transformation; %s') % e)
except Exception as exception:
messages.error(request, _(u'Error creating source transformation; %s') % exception)
else:
form = SourceTransformationForm_create()

View File

@@ -167,9 +167,9 @@ def tag_delete(request, tag_id=None, tag_id_list=None):
try:
tag.delete()
messages.success(request, _(u'Tag "%s" deleted successfully.') % tag)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting tag "%(tag)s": %(error)s') % {
'tag': tag, 'error': e
'tag': tag, 'error': exception
})
return HttpResponseRedirect(next)

View File

@@ -69,8 +69,8 @@ class Command(LabelCommand):
else:
sys.exit()
except csv.Error, e:
sys.exit('file %s, line %d: %s' % (label, reader.line_num, e))
except csv.Error as exception:
sys.exit('file %s, line %d: %s' % (label, reader.line_num, exception))
else:
print 'Finish.'
else:

View File

@@ -121,9 +121,9 @@ def user_delete(request, user_id=None, user_id_list=None):
else:
user.delete()
messages.success(request, _(u'User "%s" deleted successfully.') % user)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting user "%(user)s": %(error)s') % {
'user': user, 'error': e
'user': user, 'error': exception
})
return HttpResponseRedirect(next)
@@ -182,9 +182,9 @@ def user_set_password(request, user_id=None, user_id_list=None):
user.set_password(password_1)
user.save()
messages.success(request, _(u'Successfull password reset for user: %s.') % user)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error reseting password for user "%(user)s": %(error)s') % {
'user': user, 'error': e
'user': user, 'error': exception
})
return HttpResponseRedirect(next)
@@ -325,9 +325,9 @@ def group_delete(request, group_id=None, group_id_list=None):
try:
group.delete()
messages.success(request, _(u'Group "%s" deleted successfully.') % group)
except Exception, e:
except Exception as exception:
messages.error(request, _(u'Error deleting group "%(group)s": %(error)s') % {
'group': group, 'error': e
'group': group, 'error': exception
})
return HttpResponseRedirect(next)