Mercurial > public > mercurial-scm > hg
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() |