o
    i                     @  s   U d Z ddlmZ dZddlmZ ddlmZ dZer>ddl	Z	ddl
mZmZmZmZ dd	lmZ G d
d deZedZnddlmZ G dd dZe Zded< dS )zL
This package contains modules for language-dependent features of Docutils.
    )annotationsreStructuredText)import_module)normalize_language_tagFN)NoReturnProtocolTypeVaroverload)Reporterc                   @  s.   e Zd ZU ded< ded< ded< ded< dS )	LanguageModulestr__name__zdict[str, str]labelsbibliographic_fieldsz	list[str]author_separatorsN)r   
__module____qualname____annotations__ r   r   a/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/docutils/languages/__init__.pyr      s
   
 r   LanguageModuleT)r	   c                   @  sl   e Zd ZdZdZdZdZdddZd d!ddZe	d"ddZ
e	d#ddZ
d$ddZ
d d%ddZdd Zd	S )&LanguageImportera  Import language modules.

    When called with a BCP 47 language tag, instances return a module
    with localisations from `docutils.languages` or the PYTHONPATH.

    If there is no matching module, warn (if a `reporter` is passed)
    and fall back to English.
    )zdocutils.languages. zHLanguage "%s" not supported: Docutils-generated text will be in English.enreturnNonec                 C  s
   i | _ d S N)cache)selfr   r   r   __init__6   s   
zLanguageImporter.__init__Nnamer   reporterr
   r   c              
   C  s|   d}| j D ]6}zt|| }| | W  |S  ttfy;   |r,|r,|| d n|r9|d||  d Y qw |S )z/Try loading module `name` from `self.packages`.Nz) is no complete Docutils language module.zModule "z" not found.)packagesr   check_contentImportErrorAttributeErrorinfo)r   r    r!   modulepackager   r   r   import_from_packages9   s   
z%LanguageImporter.import_from_packagesr'   r   c                 C     d S r   r   r   r'   r   r   r   r#   K      zLanguageImporter.check_contenttypes.ModuleTyper   c                 C  r*   r   r   r+   r   r   r   r#   O   r,   !LanguageModule | types.ModuleTypec                 C  s,   t |jtrt |jtrt |jtstdS )z+Check if we got a Docutils language module.N)
isinstancer   dictr   r   listr$   r+   r   r   r   r#   S   s   


language_codec                 C  s   z| j | W S  ty   Y nw t|D ]}|dd}| ||}|d ur( nq|r3|| j|  | jr<| | j}|rN|dkrN|d| d| d || j |< |S )N-_r   zUsing z for language "z".)	r   KeyErrorr   replacer)   warningwarn_msgfallbackr&   )r   r2   r!   tagr'   r   r   r   __call__\   s&   
zLanguageImporter.__call__c                 C  s   | S r   r   )clsr    r   r   r   __class_getitem__q   s   z"LanguageImporter.__class_getitem__)r   r   r   )r    r   r!   r
   r   r   )r'   r   r   r   )r'   r-   r   r   )r'   r.   r   r   )r2   r   r!   r
   r   r   )r   r   r   __doc__r"   r8   r9   r   r)   r	   r#   r;   r=   r   r   r   r   r   '   s    

	r   z LanguageImporter[LanguageModule]get_language)r>   
__future__r   __docformat__	importlibr   docutils.utilsr   TYPE_CHECKINGtypestypingr   r   r   r	   r
   r   r   docutils.utils._typingr   r?   r   r   r   r   r   <module>   s   
N