
    O&i                         d Z ddlmZmZmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ erddlmZ  ej        e          Z G d	 d
          Zddde	ddfdZdddeeef         fdZdS )z Utilities for Sphinx extensions.    )TYPE_CHECKINGAnyDict)InvalidVersionVersion)Config)VersionRequirementError)__)logging)Sphinxc                   &    e Zd ZdedededdfdZdS )	ExtensionnamemodulekwargsreturnNc                     || _         || _        || _        |                    dd          | _        |                    dd           | _        |                    dd          | _        d S )Nversionunknown versionparallel_read_safeparallel_write_safeT)r   r   metadatapopr   r   r   )selfr   r   r   s       ]/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/extension.py__init__zExtension.__init__   se    	zz)->??
 #)**-A4"H"H
 $*::.CT#J#J       )__name__
__module____qualname__strr   r    r   r   r   r      sN        KS K# K K K K K K K Kr   r   appr   configr   Nc                    |j         dS |j                                         D ]\  }}| j                            |          }|)t                              t          d          |           Jd}|j        dk    rd}nF	 t          |          t          |j                  k    rd}n# t          $ r ||j        k    rd}Y nw xY w|s't          t          d          |||j        fz            dS )an  Check that extensions mentioned in :confval:`needs_extensions` satisfy the version
    requirement, and warn if an extension is not loaded.

    Warns if an extension in :confval:`needs_extension` is not loaded.

    :raises VersionRequirementError: if the version of an extension in
    :confval:`needs_extension` is unknown or older than the required version.
    NzPThe %s extension is required by needs_extensions settings, but it is not loaded.Tr   FzvThis project needs the extension %s at least in version %s and therefore cannot be built with the loaded version (%s).)needs_extensionsitems
extensionsgetloggerwarningr
   r   r   r   r	   )r#   r$   extname
reqversion	extension	fulfilleds         r   verify_needs_extensionsr0   $   sQ    &%6<<>> T TN&&w//	NN2 6 7 78?A A A	 111II&:&&1B)C)CCC %I! & & &	 111 %I&  	T)" .H +I +I ,3J	@Q*R+S T T T	T%T Ts   >'B&&C ?C c                 H    |                      dt          d           ddddS )Nzconfig-initedi   )prioritybuiltinT)r   r   r   )connectr0   )r#   s    r   setupr5   I   s5    KK!83KGGG "#  r   )__doc__typingr   r   r   packaging.versionr   r   sphinx.configr   sphinx.errorsr	   sphinx.localer
   sphinx.utilr   sphinx.applicationr   	getLoggerr   r*   r   r0   r!   r5   r"   r   r   <module>r?      sJ   & & + + + + + + + + + + 5 5 5 5 5 5 5 5             1 1 1 1 1 1             *))))))		8	$	$K K K K K K K K$"T "T6 "Td "T "T "T "TJx DcN      r   