comparison mercurial/thirdparty/zope/interface/declarations.py @ 37178:68ee61822182

thirdparty: port zope.interface to relative imports By using relative imports, we're guaranteed to get modules vendored with Mercurial rather than other random modules that might be in sys.path. My editor strips trailing whitespace on save. So some minor source code cleanup was also performed as part of this commit. # no-check-commit because some modified lines have double newlines Differential Revision: https://phab.mercurial-scm.org/D2930
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 21 Mar 2018 19:52:30 -0700
parents 943d77fc07a3
children 49630e75635d
comparison
equal deleted inserted replaced
37177:338367d44d34 37178:68ee61822182
22 22
23 - ProvidesDeclarations are used to express interfaces directly 23 - ProvidesDeclarations are used to express interfaces directly
24 provided by objects. 24 provided by objects.
25 25
26 """ 26 """
27 from __future__ import absolute_import
28
27 __docformat__ = 'restructuredtext' 29 __docformat__ = 'restructuredtext'
28 30
29 import sys 31 import sys
30 from types import FunctionType 32 from types import FunctionType
31 from types import MethodType 33 from types import MethodType
32 from types import ModuleType 34 from types import ModuleType
33 import weakref 35 import weakref
34 36
35 from zope.interface.advice import addClassAdvisor 37 from .advice import addClassAdvisor
36 from zope.interface.interface import InterfaceClass 38 from .interface import InterfaceClass
37 from zope.interface.interface import SpecificationBase 39 from .interface import SpecificationBase
38 from zope.interface.interface import Specification 40 from .interface import Specification
39 from zope.interface._compat import CLASS_TYPES as DescriptorAwareMetaClasses 41 from ._compat import CLASS_TYPES as DescriptorAwareMetaClasses
40 from zope.interface._compat import PYTHON3 42 from ._compat import PYTHON3
41 43
42 # Registry of class-implementation specifications 44 # Registry of class-implementation specifications
43 BuiltinImplementationSpecifications = {} 45 BuiltinImplementationSpecifications = {}
44 46
45 _ADVICE_ERROR = ('Class advice impossible in Python3. ' 47 _ADVICE_ERROR = ('Class advice impossible in Python3. '
636 ClassProvidesBasePy = ClassProvidesBaseFallback # BBB 638 ClassProvidesBasePy = ClassProvidesBaseFallback # BBB
637 ClassProvidesBase = ClassProvidesBaseFallback 639 ClassProvidesBase = ClassProvidesBaseFallback
638 640
639 # Try to get C base: 641 # Try to get C base:
640 try: 642 try:
641 import zope.interface._zope_interface_coptimizations 643 from . import _zope_interface_coptimizations
642 except ImportError: 644 except ImportError:
643 pass 645 pass
644 else: 646 else:
645 from zope.interface._zope_interface_coptimizations import ClassProvidesBase 647 from ._zope_interface_coptimizations import ClassProvidesBase
646 648
647 649
648 class ClassProvides(Declaration, ClassProvidesBase): 650 class ClassProvides(Declaration, ClassProvidesBase):
649 """Special descriptor for class __provides__ 651 """Special descriptor for class __provides__
650 652
913 return output 915 return output
914 916
915 _empty = Declaration() 917 _empty = Declaration()
916 918
917 try: 919 try:
918 import zope.interface._zope_interface_coptimizations 920 from . import _zope_interface_coptimizations
919 except ImportError: 921 except ImportError:
920 pass 922 pass
921 else: 923 else:
922 from zope.interface._zope_interface_coptimizations import implementedBy 924 from ._zope_interface_coptimizations import implementedBy
923 from zope.interface._zope_interface_coptimizations import providedBy 925 from ._zope_interface_coptimizations import providedBy
924 from zope.interface._zope_interface_coptimizations import ( 926 from ._zope_interface_coptimizations import (
925 getObjectSpecification) 927 getObjectSpecification)
926 from zope.interface._zope_interface_coptimizations import ( 928 from ._zope_interface_coptimizations import (
927 ObjectSpecificationDescriptor) 929 ObjectSpecificationDescriptor)
928 930
929 objectSpecificationDescriptor = ObjectSpecificationDescriptor() 931 objectSpecificationDescriptor = ObjectSpecificationDescriptor()