last modified support for source images

This commit is contained in:
Laura Klünder 2017-12-19 20:20:29 +01:00
parent 19cd24f389
commit 783a521682

View file

@ -1,7 +1,10 @@
import mimetypes
import os
from collections import namedtuple
from datetime import datetime
from functools import wraps
import pytz
from django.core.cache import cache
from django.db.models import Prefetch
from django.http import HttpResponse
@ -378,7 +381,11 @@ class SourceViewSet(MapdataViewSet):
def _image(self, request, pk=None):
source = self.get_object()
return HttpResponse(open(source.filepath, 'rb'), content_type=mimetypes.guess_type(source.name)[0])
last_modified = datetime.utcfromtimestamp(os.path.getmtime(source.filepath)).replace(tzinfo=pytz.utc)
response = get_conditional_response(request, last_modified=last_modified)
if response is None:
response = HttpResponse(open(source.filepath, 'rb'), content_type=mimetypes.guess_type(source.name)[0])
return response
class AccessRestrictionViewSet(MapdataViewSet):