
    -Phx                        d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZ erddlmZ dd	lmZ dd
lmZ ddlmZ  ej        e          Z G d d          ZddZddZdS )z Utilities for Sphinx extensions.    )annotations)TYPE_CHECKING)InvalidVersionVersion)VersionRequirementError)__)logging)Any)Sphinx)Config)ExtensionMetadatac                      e Zd Zd
dZd	S )	Extensionnamestrmoduler
   kwargsreturnNonec                    || _         || _        || _        |                    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       P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/extension.py__init__zExtension.__init__   se    	+1zz)->??
 #)**-A4"H"H
 $*::.CT#J#J       N)r   r   r   r
   r   r
   r   r   )__name__
__module____qualname__r    r    r   r   r      s.        K K K K K Kr    r   appr   configr   r   r   c                   |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_extensionsr2   )   sG    &%6<<>>  N&&w//	NN,     	 111II&:&&1B)C)CCC %I! & & &	 111 %I&  	)/ 
 J	(9:;  	/ s   >'B&&C ?C r   c                H    |                      dt          d           ddddS )Nzconfig-initedi   )prioritybuiltinT)r   r   r   )connectr2   )r%   s    r   setupr7   W   s5    KK!83KGGG "#  r    N)r%   r   r&   r   r   r   )r%   r   r   r   )__doc__
__future__r   typingr   packaging.versionr   r   sphinx.errorsr   sphinx.localer   sphinx.utilr	   r
   sphinx.applicationr   sphinx.configr   sphinx.util.typingr   	getLoggerr!   r,   r   r2   r7   r$   r    r   <module>rC      sB   & & " " " " " "             5 5 5 5 5 5 5 5 1 1 1 1 1 1             5))))))$$$$$$444444		8	$	$K K K K K K K K$+ + + +\     r    