o $a @sdZddlZddlZddlmZddlmZmZmZGddde Z Gddde Z e Z ifd ed eeefd eed eeefd df ddZGdddZGdddeZdS)z sphinx.deprecation ~~~~~~~~~~~~~~~~~~ Sphinx deprecation classes and utilities. :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. N) import_module)AnyDictTypec@ eZdZdS)RemovedInSphinx50WarningN__name__ __module__ __qualname__r r 4/usr/lib/python3/dist-packages/sphinx/deprecation.pyrrc@r)RemovedInSphinx60WarningNrr r r r rrrmodnameobjectswarningnamesreturncCs"t|}t|||||tj|<dSN)r_ModuleWrappersysmodules)rrrrmoduler r r deprecated_aliass rc @sTeZdZdededeeefdeedeeefddf dd Z d edefd d Z dS) rrrrrrrNcCs"||_||_||_||_||_dSr)_module_modname_objects_warning_names)selfrrrrrr r r __init__$s  z_ModuleWrapper.__init__namecCsr||jvr t|j|S|j|d}|dur&tjd|j|||j ddntjd|j||j dd|j|S)Nz^The alias '{}.{}' is deprecated, use '{}' instead. Check CHANGES for Sphinx API modifications. stacklevelz@{}.{} is deprecated. Check CHANGES for Sphinx API modifications.) rgetattrrrgetwarningswarnformatrr)r r"canonical_namer r r __getattr__.s     z_ModuleWrapper.__getattr__) r r r rstrrobjectrWarningr!r,r r r r r#s     rcseZdZdZdededeeddffdd Zd ed e ddffd d Z dd ed e de ffdd Z d eddffdd Z dd ed e de ffdd Z deddffdd ZZS)DeprecatedDictz-A deprecated dict which warns on each access.datamessagerrNcs||_||_t|dSr)r2rsuperr!)r r1r2r __class__r r r!BszDeprecatedDict.__init__keyvaluecs&tj|j|jddt||dSNr$)r(r)r2rr3 __setitem__)r r6r7r4r r r:GszDeprecatedDict.__setitem__defaultc"tj|j|jddt||Sr8)r(r)r2rr3 setdefaultr r6r;r4r r r=KzDeprecatedDict.setdefaultcs tj|j|jddt|Sr8)r(r)r2rr3 __getitem__)r r6r4r r r@Os zDeprecatedDict.__getitem__cr<r8)r(r)r2rr3r'r>r4r r r'Sr?zDeprecatedDict.getothercs$tj|j|jddt|dSr8)r(r)r2rr3update)r rAr4r r rBWszDeprecatedDict.updater)r r r __doc__rr-rr/r!rr:r=r@r'rB __classcell__r r r4r r0?s"r0)rCrr( importlibrtypingrrrDeprecationWarningrPendingDeprecationWarningrRemovedInNextVersionWarningr-r.r/rrdictr0r r r r s$