a
    8Xh                     @   sf   d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ ddlmZ G dd	 d	ejZdS )
    N)patternsurl)admin)default_storage)Http404HttpResponseHttpResponseBadRequest   )	save_filec                       s(   e Zd ZdZ fddZdd Z  ZS )
QuillAdminz8Admin class offering the ability to accept file uploads.c                    s0   t dtd| j| jdd}|tt|   S )z(Add URLs needed to handle image uploads. z	^upload/$zquill-file-upload)name)r   r   Z
admin_siteZ
admin_viewhandle_uploadsuperr   get_urls)selfurls	__class__ P/var/www/viveiro_mudafortebrasil/venv/lib/python3.9/site-packages/quill/admin.pyr      s
    zQuillAdmin.get_urlsc                 C   s   |j dkrt| rJz|jd }|}d}W q tyF   td Y S 0 nJt|jdkr`tdS z|jd }|j}d}W n ty   td Y S 0 t	|||t
}i }||d	< tt|d
dS )z!Handle file uploads from WYSIWYG.POSTZquillUploadFileTzInvalid file upload.r	   z!Can only upload 1 file at a time.Fz Missing image `quillUploadFile`.r   ztext/html; charset=utf-8)content_type)methodr   Zis_ajaxGETKeyErrorr   lenZFILESr   r
   r   r   jsondumps)r   requestfilenamedataZis_rawr   Zresponse_datar   r   r   r      s*    


zQuillAdmin.handle_upload)__name__
__module____qualname____doc__r   r   __classcell__r   r   r   r   r      s   r   )r   Zdjango.conf.urlsr   r   Zdjango.contribr   Zdjango.core.files.storager   Zdjango.httpr   r   r   Zhelpersr
   Z
ModelAdminr   r   r   r   r   <module>   s   