B
    öÀ„\
  ã               @   sb   d Z ddlmZ ddlmZ ddlmZ ddlmZ e 	e
¡ZG dd„ deƒZdd	„ Zd
d„ ZdS )zÃ
    sphinx.extension
    ~~~~~~~~~~~~~~~~

    Utilities for Sphinx extensions.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú	iteritems)ÚVersionRequirementError)Ú__)Úloggingc               @   s   e Zd Zdd„ ZdS )Ú	Extensionc             K   s@   || _ || _|| _| dd¡| _| dd ¡| _| dd¡| _d S )NÚversionzunknown versionÚparallel_read_safeÚparallel_write_safeT)ÚnameÚmoduleZmetadataÚpopr   r   r	   )Úselfr
   r   Úkwargs© r   ú/lib/python3.7/site-packages/sphinx/extension.pyÚ__init__   s    zExtension.__init__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c             C   s|   |j dkrdS xht|j ƒD ]Z\}}| j |¡}|dkrHt tdƒ|¡ q|jdks\||jkrttdƒ|||jf ƒ‚qW dS )z1Verify the required Sphinx extensions are loaded.NzPThe %s extension is required by needs_extensions settings, but it is not loaded.zunknown versionzvThis project needs the extension %s at least in version %s and therefore cannot be built with the loaded version (%s).)	Zneeds_extensionsr   Ú
extensionsÚgetÚloggerZwarningr   r   r   )ÚappZconfigZextnameZ
reqversionÚ	extensionr   r   r   Úverify_needs_extensions.   s    

r   c             C   s   |   dt¡ ddddœS )Nzconfig-initedZbuiltinT)r   r   r	   )Zconnectr   )r   r   r   r   ÚsetupB   s    r   N)Ú__doc__Zsixr   Zsphinx.errorsr   Zsphinx.localer   Zsphinx.utilr   Z	getLoggerr   r   Úobjectr   r   r   r   r   r   r   Ú<module>
   s   
