a
    Dg0                     @   sh   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 dd Ze d	d
 ZdS )    )apps)transaction)import_string)task)ParentalKey)ReferenceIndexc                 C   s   t | |}|jj|d}ttdd |j }|s8qVt||d j	}|d u rd S qt
|jjrt  t
| W d    n1 s0    Y  d S )N)pkc                 S   s
   t | tS N)
isinstancer   )field r   L/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/tasks.py<lambda>       z-update_reference_index_task.<locals>.<lambda>r   )r   Z	get_modelZobjectsgetlistfilterZ_metaZ
get_fieldsgetattrnamer   Z
is_indexedmodelr   ZatomicZcreate_or_update_for_object)Z	app_labelZ
model_namer   r   instanceZparental_keysr   r   r   update_reference_index_task
   s     
r   c                 C   s*   | \}}}t ||i |}|| d S r	   )r   delete)Zdeconstructed_storagepathZstorage_moduleZstorage_argsZstorage_kwargsZstorager   r   r   delete_file_from_storage_task$   s    
r   N)Zdjango.appsr   Z	django.dbr   Zdjango.utils.module_loadingr   Zdjango_tasksr   Zmodelcluster.fieldsr   Zwagtail.modelsr   r   r   r   r   r   r   <module>   s   
