o
    QDi                     @   s   d dl Z d dl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mZ d dlmZ d dlmZmZmZmZ d d	lmZ eejd
dG dd de	ZdS )    N)transactionrender)method_decorator)View)login_possibly_requiredpermissions_possibly_required)SilkyConfig)ProfileRequestResponseSQLQuery)delete_modeldispatch)namec                   @   s<   e Zd Zeeeedd Zeeeedd ZdS )ClearDBViewc                 O   s
   t |dS )Nsilk/clear_db.htmlr   )selfrequest_kwargs r   L/var/www/Datamplify/venv/lib/python3.10/site-packages/silk/views/clear_db.pyget   s   
zClearDBView.getc           	   	   O   s   i }d|j v rYtt tt tt tt g d}dd||d< t j	rYt j
}t|D ]}tj||}zt| W q2 tyP   t| Y q2w |d  d7  < t|d|dS )	N	clear_all)r   r   r
   r   z*Cleared data for following silk tables: {}z, msgz)
Deleted all profiles from the directory.r   )context)POSTr   r
   r   r   r   formatjoinr	   SILKY_DELETE_PROFILES!SILKY_PYTHON_PROFILER_RESULT_PATHoslistdirpathshutilrmtreeOSErrorremover   )	r   r   r   r   r   tablesdirfilesr$   r   r   r   post   s&   
zClearDBView.postN)__name__
__module____qualname__r   r   r   r   r,   r   r   r   r   r      s    r   )r"   r%   	django.dbr   django.shortcutsr   django.utils.decoratorsr   django.views.genericr   	silk.authr   r   silk.configr	   silk.modelsr
   r   r   r   silk.utils.data_deletionr   non_atomic_requestsr   r   r   r   r   <module>   s    