Mercurial > hg > mercurial-source
changeset 37965:49630e75635d
thirdparty: allow zope.interface.advice to be lazily imported
The symbol from this module is only used in functions. Let's access
that symbol through its imported module so importing
zope.interface.advice can be lazy.
Differential Revision: https://phab.mercurial-scm.org/D2931
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 21 Mar 2018 18:13:40 -0700 |
parents | 68ee61822182 |
children | 922b3fae9c7d |
files | mercurial/thirdparty/zope/interface/declarations.py |
diffstat | 1 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/thirdparty/zope/interface/declarations.py +++ b/mercurial/thirdparty/zope/interface/declarations.py @@ -34,7 +34,7 @@ from types import ModuleType import weakref -from .advice import addClassAdvisor +from . import advice as advicemod from .interface import InterfaceClass from .interface import SpecificationBase from .interface import Specification @@ -451,7 +451,7 @@ raise TypeError(name+" can be used only once in a class definition.") locals['__implements_advice_data__'] = interfaces, classImplements - addClassAdvisor(_implements_advice, depth=3) + advicemod.addClassAdvisor(_implements_advice, depth=3) def implements(*interfaces): """Declare interfaces implemented by instances of a class @@ -732,7 +732,7 @@ locals["__provides__"] = _normalizeargs(interfaces) - addClassAdvisor(_classProvides_advice, depth=2) + advicemod.addClassAdvisor(_classProvides_advice, depth=2) def _classProvides_advice(cls): # This entire approach is invalid under Py3K. Don't even try to fix