Converter now differentiates between unknown file format and convert errors

This commit is contained in:
Roberto Rosario
2011-03-07 23:00:27 -04:00
parent 4691a487ff
commit 41161b2ad7
6 changed files with 51 additions and 49 deletions

View File

@@ -16,7 +16,8 @@ from django.core.exceptions import ObjectDoesNotExist
from django.core.files.uploadedfile import SimpleUploadedFile
from common.utils import pretty_size
from converter.api import convert, in_image_cache, QUALITY_DEFAULT
from converter.api import convert, in_image_cache, QUALITY_DEFAULT, \
ConvertError, UnknownFormat
from converter import TRANFORMATION_CHOICES
from filetransfers.api import serve_file
from filesystem_serving.api import document_create_fs_links, document_delete_fs_links
@@ -509,6 +510,18 @@ def get_document_image(request, document_id, size=PREVIEW_SIZE, quality=QUALITY_
filepath = document_save_to_temp_dir(document, filename=document.checksum)
output_file = convert(filepath, size=size, format='jpg', quality=quality, extra_options=tranformation_string, page=page-1)
return serve_file(request, File(file=open(output_file, 'r')), content_type='image/jpeg')
except ConvertError, e:
if request.user.is_staff or request.user.is_superuser:
messages.error(request, e)
if size == THUMBNAIL_SIZE:
return serve_file(request, File(file=open('%simages/picture_error.png' % settings.MEDIA_ROOT, 'r')))
else:
return serve_file(request, File(file=open('%simages/1297211435_error.png' % settings.MEDIA_ROOT, 'r')))
except UnknownFormat:
if size == THUMBNAIL_SIZE:
return serve_file(request, File(file=open('%simages/1299549572_unknown2.png' % settings.MEDIA_ROOT, 'r')))
else:
return serve_file(request, File(file=open('%simages/1299549805_unknown.png' % settings.MEDIA_ROOT, 'r')))
except Exception, e:
if request.user.is_staff or request.user.is_superuser:
messages.error(request, e)