
    h                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 ddl
mZ ddlmZ ddlmZ ej                   Zej$                  Zed	        Zed
        Zy)    )settings)PermissionDenied)Http404)never_cache)ThumbnailFile   )File)thumbnail_to_original_filenamec                    	 t         j                  j                  |d      }|j                  |       s!t        j                  rt        t	        d      t        j                  | |d      S # t         j                  $ r t	        d      w xY w)zM
    Serve protected files to authenticated users with read permissions.
    Ffile	is_publicFile not foundsave_as)r	   objectsgetDoesNotExistr   has_read_permissionr   DEBUGr   serverserve)requestpathfile_objs      B/home/dcms/DCMS/lib/python3.12/site-packages/filer/server/views.pyserve_protected_filer      s    
(<<###? ''0>>""*++<<5<99  (&''(s   !A- -Bc                    t        |      }|st        d      	 t        j                  j	                  |d      }|j                  |       s!t        j                  rt        t        d      	 t        ||j                  j                        }|j                  |_        t        j                  | |d      S # t        j
                  $ r t        d      w xY w# t         $ r t        d      w xY w)z
    Serve protected thumbnails to authenticated users.
    If the user doesn't have read permissions, redirect to a static image.
    r   Fr   )namestorager   )r
   r   r	   r   r   r   r   r   r   r   r   r   thumbnail_storage	mime_typethumbnail_serverr   	Exception)r   r   source_pathr   	thumbnails        r   serve_protected_thumbnailr'   "   s     16K&''(<<###F ''0>>""*++(!tX]]5T5TU	&00	%%gy%%HH  (&''(  (&''(s   !B8 .A	C 8CC/N)django.confr   django.core.exceptionsr   django.httpr   django.views.decorators.cacher   easy_thumbnails.filesr    filer_settingsmodelsr	   utils.filer_easy_thumbnailsr
   FILER_PRIVATEMEDIA_SERVERr   #FILER_PRIVATEMEDIA_THUMBNAIL_SERVERr#   r   r'        r   <module>r5      s^      3  5 / )  H 
	1	1!EE  : :  ( (r4   