Generated: Wed 2013-03-13 10:33 CET
Source file: /media/Envs/Envs/filer-gallery/lib/python2.7/site-packages/filer/server/views.py
Stats: 0 executed, 29 missed, 7 excluded, 15 ignored
#-*- coding: utf-8 -*-from django.conf import settingsfrom django.core.exceptions import PermissionDeniedfrom django.http import Http404from easy_thumbnails.files import ThumbnailFilefrom filer import settings as filer_settingsfrom filer.models import Filefrom filer.utils.filer_easy_thumbnails import thumbnail_to_original_filenameserver = filer_settings.FILER_PRIVATEMEDIA_SERVERthumbnail_server = filer_settings.FILER_PRIVATEMEDIA_THUMBNAIL_SERVERdef serve_protected_file(request, path): """ Serve protected files to authenticated users with read permissions. """ try: file_obj = File.objects.get(file=path, is_public=False) except File.DoesNotExist: raise Http404('File not found') if not file_obj.has_read_permission(request): if settings.DEBUG: raise PermissionDenied else: raise Http404('File not found') return server.serve(request, file_obj=file_obj.file, save_as=False)def serve_protected_thumbnail(request, path): """ Serve protected thumbnails to authenticated users. If the user doesn't have read permissions, redirect to a static image. """ source_path = thumbnail_to_original_filename(path) if not source_path: raise Http404('File not found') try: file_obj = File.objects.get(file=source_path, is_public=False) except File.DoesNotExist: raise Http404('File not found') if not file_obj.has_read_permission(request): if settings.DEBUG: raise PermissionDenied else: raise Http404('File not found') try: thumbnail = ThumbnailFile(name=path, storage=file_obj.file.thumbnail_storage) return thumbnail_server.serve(request, thumbnail, save_as=False) except Exception: raise Http404('File not found')