a
    Cøg÷  ã                   @   s   d dl mZmZ ddd„ZdS )é    )Úget_script_prefixÚresolveNc                    sT   ddl m‰ ddlm‰  ‡ ‡‡‡fdd„‰tƒ  d¡}| t|ƒd… } ˆ| g |g ƒS )z_
    Given a url returns a list of breadcrumbs, which are each a
    tuple of (name, url).
    r   )Úpreserve_builtin_query_params)ÚAPIViewc                    sð   zt | ƒ\}}}W n ty$   Y nz0 t|ddƒ}t|di ƒ}|duržt|ˆ ƒrž|r`|d |krž|f i |¤Ž}	|	 ¡ }
ˆ||  ˆƒ}| d|
|f¡ | |¡ | dkrª|S |  d¡rÌ|  d¡} ˆ| |||ƒS | d|  	d¡d … } ˆ| |||ƒS )	zy
        Add tuples of (name, url) to the breadcrumbs list,
        progressively chomping off parts of the url.
        ÚclsNÚ
initkwargséÿÿÿÿr   Ú ú/é   )
r   Ú	ExceptionÚgetattrÚ
issubclassZget_view_nameÚinsertÚappendÚendswithÚrstripÚrfind)ÚurlZbreadcrumbs_listÚprefixÚseenÚviewZunused_argsZunused_kwargsr   r   ÚcÚnameZ
insert_url©r   Úbreadcrumbs_recursiver   Úrequest© ú_/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/rest_framework/utils/breadcrumbs.pyr      s(    


z.get_breadcrumbs.<locals>.breadcrumbs_recursiver
   N)Zrest_framework.reverser   Zrest_framework.viewsr   r   r   Úlen)r   r   r   r   r   r   Úget_breadcrumbs   s    'r    )N)Zdjango.urlsr   r   r    r   r   r   r   Ú<module>   s   