a
    gP                     @  s  d Z ddlm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 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eddZdZdZddiZeejdddddddZdddddd d!Zeejdd"dddd#d$Z dS )%z
Replace imports from django.utils.translation:
https://docs.djangoproject.com/en/3.0/releases/3.0/#features-deprecated-in-3-0
    )annotationsN)Iterable)partial)Offset)Token)ast_start_offset)Fixer)State)	TokenFunc)extract_indent)find_and_replace_name)insert)update_import_names)   r   )min_versionzdjango.utils.textZunescape_entities r	   zast.ImportFromztuple[ast.AST, ...]z"Iterable[tuple[Offset, TokenFunc]])statenodeparentsreturnc                 c  sB   |j dkr>|jtkr>tdd |jD r>t|tt|dfV  d S )Nr   c                 s  s"   | ]}|j tko|jd u V  qd S )N)nameOLD_NAMEasname).0alias r   _/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/django_upgrade/fixers/utils_text.py	<genexpr>-   s   z#visit_ImportFrom.<locals>.<genexpr>)r   )levelmoduleMODULEanynamesr   r   
fix_importr   r   r   r   r   r   visit_ImportFrom$   s    r%   zlist[Token]intNone)tokensir   r   c                C  s:   t | |\}}t| ||tdid t| || dd d S )Nr   )r   Zname_mapzimport html
)Znew_src)r   r   r   r   )r(   r)   r   jindentr   r   r   r#   4   s    r#   zast.Namec                 c  s4   |j tkr0t| jt v r0t|tttddfV  d S )Nzhtml.escape)r   new)idr   Zfrom_importsr    r   r   r   r$   r   r   r   
visit_Name:   s    r.   )!__doc__
__future__r   astcollections.abcr   	functoolsr   Ztokenize_rtr   r   Zdjango_upgrade.astr   Zdjango_upgrade.datar   r	   r
   Zdjango_upgrade.tokensr   r   r   r   __name__Zfixerr    r   ZNAME_MAPregister
ImportFromr%   r#   Namer.   r   r   r   r   <module>   s6   

