a
    g                     @  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 eeddZdZddddddZeejdddddddZeej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)ast_start_offset)is_rewritable_import_from)Fixer)State)	TokenFunc)find_and_replace_name)update_import_names)   r   )min_versionzdjango.utils.translationgettextZgettext_lazyZgettext_noopngettextZngettext_lazy)ZugettextZugettext_lazyZugettext_noopZ	ungettextZungettext_lazyr	   zast.ImportFromztuple[ast.AST, ...]z"Iterable[tuple[Offset, TokenFunc]])statenodeparentsreturnc                 c  sB   |j tkr>t|r>tdd |jD r>t|tt|tdfV  d S )Nc                 s  s   | ]}|j tv V  qd S )N)nameNAME_MAP).0alias r   f/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/django_upgrade/fixers/utils_translation.py	<genexpr>.       z#visit_ImportFrom.<locals>.<genexpr>)r   Zname_map)	moduleMODULEr   anynamesr   r   r   r   )r   r   r   r   r   r   visit_ImportFrom%   s    r!   zast.Namec                 c  s<   |j  }tv r8|| jt v r8t|tt|t| dfV  d S )Nr   new)idr   from_importsr   r   r   r   r   r   r   r   r   r   r   
visit_Name5   s    
r'   zast.Attributec                 c  sV   |j  }tv rRt|jtjrR|jjdkrRd| jd v rRt|t	t
|t| dfV  d S )Ntranslationzdjango.utilsr"   )attrr   
isinstancevalueastNamer$   r%   r   r   r   r&   r   r   r   visit_AttributeA   s    

r.   )__doc__
__future__r   r,   collections.abcr   	functoolsr   Ztokenize_rtr   Zdjango_upgrade.astr   r   Zdjango_upgrade.datar   r	   r
   Zdjango_upgrade.tokensr   r   __name__Zfixerr   r   register
ImportFromr!   r-   r'   	Attributer.   r   r   r   r   <module>   s:   	


