From c1bf99aba474808c5fa8fb7477669b98b7440730 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 25 May 2015 23:06:46 +0200 Subject: [PATCH] fix empty related media for item --- telemeta/views/item.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/telemeta/views/item.py b/telemeta/views/item.py index 84f2d78d..82c7178b 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -179,16 +179,23 @@ class ItemView(ItemBaseMixin): def related_media_item_stream(self, request, item_public_id, media_id): item = get_object_or_404(MediaItem, code=item_public_id) media = get_object_or_404(MediaItemRelated, item=item, id=media_id) - filename = media.file.path.split(os.sep)[-1] - response = StreamingHttpResponse(stream_from_file(media.file.path), content_type=media.mime_type) + if media.file: + response = StreamingHttpResponse(stream_from_file(media.file.path), content_type=media.mime_type) + filename = media.file.path.split(os.sep)[-1] + response = StreamingHttpResponse(stream_from_file(media.file.path), content_type=media.mime_type) + else: + raise Http404 return response def related_media_item_download(self, request, item_public_id, media_id): item = get_object_or_404(MediaItem, code=item_public_id) media = get_object_or_404(MediaItemRelated, item=item, id=media_id) - filename = media.file.path.split(os.sep)[-1] - response = StreamingHttpResponse(stream_from_file(media.file.path), content_type=media.mime_type) - response['Content-Disposition'] = 'attachment; ' + 'filename=' + filename + if media_file: + filename = media.file.path.split(os.sep)[-1] + response = StreamingHttpResponse(stream_from_file(media.file.path), content_type=media.mime_type) + response['Content-Disposition'] = 'attachment; ' + 'filename=' + filename + else: + raise Http404 return response @method_decorator(permission_required('telemeta.change_mediaitem')) -- 2.39.5