o $a @sdZddlmZmZmZddlmZmZddlm Z ddl m Z ddl m Z ddlmZer4ddlmZeeZGd d d Zd d d e ddfddZd d deeeffddZdS)z sphinx.extension ~~~~~~~~~~~~~~~~ Utilities for Sphinx extensions. :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. ) TYPE_CHECKINGAnyDict)InvalidVersionVersion)Config)VersionRequirementError)__)logging)Sphinxc@s&eZdZdedededdfddZdS) ExtensionnamemodulekwargsreturnNcKs@||_||_||_|dd|_|dd|_|dd|_dS)Nversionunknown versionparallel_read_safeparallel_write_safeT)r rmetadatapoprrr)selfr rrr2/usr/lib/python3/dist-packages/sphinx/extension.py__init__s zExtension.__init__)__name__ __module__ __qualname__strrrrrrrr sr appr configrNc Cs|jdurdS|jD]M\}}|j|}|dur#ttd|q d}|jdkr-d}nz t|t|jkr9d}Wnt yJ||jkrHd}Ynw|sYt td|||jfq dS)z1Verify the required Sphinx extensions are loaded.NzPThe %s extension is required by needs_extensions settings, but it is not loaded.TrFzvThis project needs the extension %s at least in version %s and therefore cannot be built with the loaded version (%s).) needs_extensionsitems extensionsgetloggerwarningr rrrr)rr extname reqversion extension fulfilledrrrverify_needs_extensions,s6       r+cCs|jdtddddddS)Nz config-initedi )prioritybuiltinT)rrr)connectr+)rrrrsetupJs r/)__doc__typingrrrpackaging.versionrr sphinx.configr sphinx.errorsr sphinx.localer sphinx.utilr sphinx.applicationr getLoggerrr%r r+rr/rrrrs