From 4d4ad3e8c456a330562e47b5e67b33e7fac04e4e Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 25 May 2015 22:53:58 +0200 Subject: [PATCH] add 404 for empty related media.file --- telemeta/views/resource.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/telemeta/views/resource.py b/telemeta/views/resource.py index 8cefcea7..d30127c8 100644 --- a/telemeta/views/resource.py +++ b/telemeta/views/resource.py @@ -157,16 +157,22 @@ class ResourceView(object): self.setup(type) resource = self.model.objects.get(code=public_id) media = self.related.objects.get(resource=resource, id=media_id) - 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) + else: + raise Http404 return response def related_download(self, request, type, public_id, media_id): self.setup(type) resource = self.model.objects.get(code=public_id) media = self.related.objects.get(resource=resource, 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 -- 2.39.5