D2930: thirdparty: port zope.interface to relative imports
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Fri Mar 30 14:13:34 EDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG68ee61822182: thirdparty: port zope.interface to relative imports (authored by indygreg, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D2930?vs=7243&id=7397
REVISION DETAIL
https://phab.mercurial-scm.org/D2930
AFFECTED FILES
mercurial/thirdparty/zope/interface/__init__.py
mercurial/thirdparty/zope/interface/_compat.py
mercurial/thirdparty/zope/interface/_flatten.py
mercurial/thirdparty/zope/interface/_zope_interface_coptimizations.c
mercurial/thirdparty/zope/interface/adapter.py
mercurial/thirdparty/zope/interface/advice.py
mercurial/thirdparty/zope/interface/common/idatetime.py
mercurial/thirdparty/zope/interface/common/interfaces.py
mercurial/thirdparty/zope/interface/common/mapping.py
mercurial/thirdparty/zope/interface/common/sequence.py
mercurial/thirdparty/zope/interface/declarations.py
mercurial/thirdparty/zope/interface/document.py
mercurial/thirdparty/zope/interface/exceptions.py
mercurial/thirdparty/zope/interface/interface.py
mercurial/thirdparty/zope/interface/interfaces.py
mercurial/thirdparty/zope/interface/registry.py
mercurial/thirdparty/zope/interface/ro.py
mercurial/thirdparty/zope/interface/verify.py
CHANGE DETAILS
diff --git a/mercurial/thirdparty/zope/interface/verify.py b/mercurial/thirdparty/zope/interface/verify.py
--- a/mercurial/thirdparty/zope/interface/verify.py
+++ b/mercurial/thirdparty/zope/interface/verify.py
@@ -13,10 +13,12 @@
##############################################################################
"""Verify interface implementations
"""
-from zope.interface.exceptions import BrokenImplementation, DoesNotImplement
-from zope.interface.exceptions import BrokenMethodImplementation
+from __future__ import absolute_import
+
+from .exceptions import BrokenImplementation, DoesNotImplement
+from .exceptions import BrokenMethodImplementation
from types import FunctionType, MethodType
-from zope.interface.interface import fromMethod, fromFunction, Method
+from .interface import fromMethod, fromFunction, Method
import sys
# This will be monkey-patched when running under Zope 2, so leave this
diff --git a/mercurial/thirdparty/zope/interface/ro.py b/mercurial/thirdparty/zope/interface/ro.py
--- a/mercurial/thirdparty/zope/interface/ro.py
+++ b/mercurial/thirdparty/zope/interface/ro.py
@@ -13,6 +13,9 @@
##############################################################################
"""Compute a resolution order for an object and its bases
"""
+
+from __future__ import absolute_import
+
__docformat__ = 'restructuredtext'
def _mergeOrderings(orderings):
diff --git a/mercurial/thirdparty/zope/interface/registry.py b/mercurial/thirdparty/zope/interface/registry.py
--- a/mercurial/thirdparty/zope/interface/registry.py
+++ b/mercurial/thirdparty/zope/interface/registry.py
@@ -13,31 +13,34 @@
##############################################################################
"""Basic components support
"""
+
+from __future__ import absolute_import
+
from collections import defaultdict
try:
- from zope.event import notify
+ from ..event import notify
except ImportError: # pragma: no cover
def notify(*arg, **kw): pass
-from zope.interface.interfaces import ISpecification
-from zope.interface.interfaces import ComponentLookupError
-from zope.interface.interfaces import IAdapterRegistration
-from zope.interface.interfaces import IComponents
-from zope.interface.interfaces import IHandlerRegistration
-from zope.interface.interfaces import ISubscriptionAdapterRegistration
-from zope.interface.interfaces import IUtilityRegistration
-from zope.interface.interfaces import Registered
-from zope.interface.interfaces import Unregistered
+from .interfaces import ISpecification
+from .interfaces import ComponentLookupError
+from .interfaces import IAdapterRegistration
+from .interfaces import IComponents
+from .interfaces import IHandlerRegistration
+from .interfaces import ISubscriptionAdapterRegistration
+from .interfaces import IUtilityRegistration
+from .interfaces import Registered
+from .interfaces import Unregistered
-from zope.interface.interface import Interface
-from zope.interface.declarations import implementedBy
-from zope.interface.declarations import implementer
-from zope.interface.declarations import implementer_only
-from zope.interface.declarations import providedBy
-from zope.interface.adapter import AdapterRegistry
-from zope.interface._compat import CLASS_TYPES
-from zope.interface._compat import STRING_TYPES
+from .interface import Interface
+from .declarations import implementedBy
+from .declarations import implementer
+from .declarations import implementer_only
+from .declarations import providedBy
+from .adapter import AdapterRegistry
+from ._compat import CLASS_TYPES
+from ._compat import STRING_TYPES
class _UnhashableComponentCounter(object):
diff --git a/mercurial/thirdparty/zope/interface/interfaces.py b/mercurial/thirdparty/zope/interface/interfaces.py
--- a/mercurial/thirdparty/zope/interface/interfaces.py
+++ b/mercurial/thirdparty/zope/interface/interfaces.py
@@ -13,11 +13,14 @@
##############################################################################
"""Interface Package Interfaces
"""
+
+from __future__ import absolute_import
+
__docformat__ = 'restructuredtext'
-from zope.interface.interface import Attribute
-from zope.interface.interface import Interface
-from zope.interface.declarations import implementer
+from .interface import Attribute
+from .interface import Interface
+from .declarations import implementer
_BLANK = u''
@@ -447,10 +450,10 @@
Instances of ``C`` provide only ``I1``, ``I2``, and regardless of
whatever interfaces instances of ``A`` and ``B`` implement.
"""
-
+
def implementer_only(*interfaces):
- """Create a decorator for declaring the only interfaces implemented
-
+ """Create a decorator for declaring the only interfaces implemented
+
A callable is returned that makes an implements declaration on
objects passed to it.
"""
diff --git a/mercurial/thirdparty/zope/interface/interface.py b/mercurial/thirdparty/zope/interface/interface.py
--- a/mercurial/thirdparty/zope/interface/interface.py
+++ b/mercurial/thirdparty/zope/interface/interface.py
@@ -13,16 +13,16 @@
##############################################################################
"""Interface object implementation
"""
-from __future__ import generators
+from __future__ import absolute_import, generators
import sys
from types import MethodType
from types import FunctionType
import warnings
import weakref
-from zope.interface.exceptions import Invalid
-from zope.interface.ro import ro
+from .exceptions import Invalid
+from .ro import ro
CO_VARARGS = 4
@@ -114,7 +114,7 @@
SpecificationBase = SpecificationBasePy
try:
- from zope.interface._zope_interface_coptimizations import SpecificationBase
+ from ._zope_interface_coptimizations import SpecificationBase
except ImportError:
pass
@@ -155,14 +155,14 @@
InterfaceBase = InterfaceBasePy
try:
- from zope.interface._zope_interface_coptimizations import InterfaceBase
+ from ._zope_interface_coptimizations import InterfaceBase
except ImportError:
pass
adapter_hooks = []
try:
- from zope.interface._zope_interface_coptimizations import adapter_hooks
+ from ._zope_interface_coptimizations import adapter_hooks
except ImportError:
pass
@@ -665,22 +665,22 @@
# Now we can create the interesting interfaces and wire them up:
def _wire():
- from zope.interface.declarations import classImplements
+ from .declarations import classImplements
- from zope.interface.interfaces import IAttribute
+ from .interfaces import IAttribute
classImplements(Attribute, IAttribute)
- from zope.interface.interfaces import IMethod
+ from .interfaces import IMethod
classImplements(Method, IMethod)
- from zope.interface.interfaces import IInterface
+ from .interfaces import IInterface
classImplements(InterfaceClass, IInterface)
- from zope.interface.interfaces import ISpecification
+ from .interfaces import ISpecification
classImplements(Specification, ISpecification)
# We import this here to deal with module dependencies.
-from zope.interface.declarations import implementedBy
-from zope.interface.declarations import providedBy
-from zope.interface.exceptions import InvalidInterface
-from zope.interface.exceptions import BrokenImplementation
+from .declarations import implementedBy
+from .declarations import providedBy
+from .exceptions import InvalidInterface
+from .exceptions import BrokenImplementation
diff --git a/mercurial/thirdparty/zope/interface/exceptions.py b/mercurial/thirdparty/zope/interface/exceptions.py
--- a/mercurial/thirdparty/zope/interface/exceptions.py
+++ b/mercurial/thirdparty/zope/interface/exceptions.py
@@ -14,6 +14,8 @@
"""Interface-specific exceptions
"""
+from __future__ import absolute_import
+
class Invalid(Exception):
"""A specification is violated
"""
diff --git a/mercurial/thirdparty/zope/interface/document.py b/mercurial/thirdparty/zope/interface/document.py
--- a/mercurial/thirdparty/zope/interface/document.py
+++ b/mercurial/thirdparty/zope/interface/document.py
@@ -16,8 +16,10 @@
This module provides a function, asStructuredText, for rendering an
interface as structured text.
"""
-import zope.interface
+from __future__ import absolute_import
+
+from . import Interface
def asStructuredText(I, munge=0, rst=False):
""" Output structured text format. Note, this will whack any existing
@@ -41,7 +43,7 @@
bases = [base
for base in I.__bases__
- if base is not zope.interface.Interface
+ if base is not Interface
]
if bases:
outp(_justify_and_indent("This interface extends:", level, munge))
diff --git a/mercurial/thirdparty/zope/interface/declarations.py b/mercurial/thirdparty/zope/interface/declarations.py
--- a/mercurial/thirdparty/zope/interface/declarations.py
+++ b/mercurial/thirdparty/zope/interface/declarations.py
@@ -24,20 +24,22 @@
provided by objects.
"""
+from __future__ import absolute_import
+
__docformat__ = 'restructuredtext'
import sys
from types import FunctionType
from types import MethodType
from types import ModuleType
import weakref
-from zope.interface.advice import addClassAdvisor
-from zope.interface.interface import InterfaceClass
-from zope.interface.interface import SpecificationBase
-from zope.interface.interface import Specification
-from zope.interface._compat import CLASS_TYPES as DescriptorAwareMetaClasses
-from zope.interface._compat import PYTHON3
+from .advice import addClassAdvisor
+from .interface import InterfaceClass
+from .interface import SpecificationBase
+from .interface import Specification
+from ._compat import CLASS_TYPES as DescriptorAwareMetaClasses
+from ._compat import PYTHON3
# Registry of class-implementation specifications
BuiltinImplementationSpecifications = {}
@@ -638,11 +640,11 @@
# Try to get C base:
try:
- import zope.interface._zope_interface_coptimizations
+ from . import _zope_interface_coptimizations
except ImportError:
pass
else:
- from zope.interface._zope_interface_coptimizations import ClassProvidesBase
+ from ._zope_interface_coptimizations import ClassProvidesBase
class ClassProvides(Declaration, ClassProvidesBase):
@@ -915,15 +917,15 @@
_empty = Declaration()
try:
- import zope.interface._zope_interface_coptimizations
+ from . import _zope_interface_coptimizations
except ImportError:
pass
else:
- from zope.interface._zope_interface_coptimizations import implementedBy
- from zope.interface._zope_interface_coptimizations import providedBy
- from zope.interface._zope_interface_coptimizations import (
+ from ._zope_interface_coptimizations import implementedBy
+ from ._zope_interface_coptimizations import providedBy
+ from ._zope_interface_coptimizations import (
getObjectSpecification)
- from zope.interface._zope_interface_coptimizations import (
+ from ._zope_interface_coptimizations import (
ObjectSpecificationDescriptor)
objectSpecificationDescriptor = ObjectSpecificationDescriptor()
diff --git a/mercurial/thirdparty/zope/interface/common/sequence.py b/mercurial/thirdparty/zope/interface/common/sequence.py
--- a/mercurial/thirdparty/zope/interface/common/sequence.py
+++ b/mercurial/thirdparty/zope/interface/common/sequence.py
@@ -13,8 +13,11 @@
##############################################################################
"""Sequence Interfaces
"""
+
+from __future__ import absolute_import
+
__docformat__ = 'restructuredtext'
-from zope.interface import Interface
+from .. import Interface
class IMinimalSequence(Interface):
"""Most basic sequence interface.
diff --git a/mercurial/thirdparty/zope/interface/common/mapping.py b/mercurial/thirdparty/zope/interface/common/mapping.py
--- a/mercurial/thirdparty/zope/interface/common/mapping.py
+++ b/mercurial/thirdparty/zope/interface/common/mapping.py
@@ -13,7 +13,10 @@
##############################################################################
"""Mapping Interfaces
"""
-from zope.interface import Interface
+
+from __future__ import absolute_import
+
+from .. import Interface
class IItemMapping(Interface):
"""Simplest readable mapping object
@@ -42,13 +45,13 @@
class IWriteMapping(Interface):
"""Mapping methods for changing data"""
-
+
def __delitem__(key):
"""Delete a value from the mapping using the key."""
def __setitem__(key, value):
"""Set a new item in the mapping."""
-
+
class IEnumerableMapping(IReadMapping):
"""Mapping objects whose items can be enumerated.
@@ -89,32 +92,32 @@
"iterate over items"
class IClonableMapping(Interface):
-
+
def copy():
"return copy of dict"
class IExtendedReadMapping(IIterableMapping):
-
+
def has_key(key):
"""Tell if a key exists in the mapping; equivalent to __contains__"""
class IExtendedWriteMapping(IWriteMapping):
-
+
def clear():
"delete all items"
-
+
def update(d):
" Update D from E: for k in E.keys(): D[k] = E[k]"
-
+
def setdefault(key, default=None):
"D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D"
-
+
def pop(k, *args):
"""remove specified key and return the corresponding value
*args may contain a single default value, or may not be supplied.
- If key is not found, default is returned if given, otherwise
+ If key is not found, default is returned if given, otherwise
KeyError is raised"""
-
+
def popitem():
"""remove and return some (key, value) pair as a
2-tuple; but raise KeyError if mapping is empty"""
diff --git a/mercurial/thirdparty/zope/interface/common/interfaces.py b/mercurial/thirdparty/zope/interface/common/interfaces.py
--- a/mercurial/thirdparty/zope/interface/common/interfaces.py
+++ b/mercurial/thirdparty/zope/interface/common/interfaces.py
@@ -13,8 +13,11 @@
##############################################################################
"""Interfaces for standard python exceptions
"""
-from zope.interface import Interface
-from zope.interface import classImplements
+
+from __future__ import absolute_import
+
+from .. import Interface
+from .. import classImplements
class IException(Interface): pass
class IStandardError(IException): pass
diff --git a/mercurial/thirdparty/zope/interface/common/idatetime.py b/mercurial/thirdparty/zope/interface/common/idatetime.py
--- a/mercurial/thirdparty/zope/interface/common/idatetime.py
+++ b/mercurial/thirdparty/zope/interface/common/idatetime.py
@@ -1,7 +1,7 @@
##############################################################################
# Copyright (c) 2002 Zope Foundation and Contributors.
# All Rights Reserved.
-#
+#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
@@ -15,8 +15,10 @@
of the real datetime would fail.
"""
-from zope.interface import Interface, Attribute
-from zope.interface import classImplements
+from __future__ import absolute_import
+
+from .. import Interface, Attribute
+from .. import classImplements
from datetime import timedelta, date, datetime, time, tzinfo
@@ -112,7 +114,7 @@
Except for those members given new values by whichever keyword
arguments are specified. For example, if d == date(2002, 12, 31), then
- d.replace(day=26) == date(2000, 12, 26).
+ d.replace(day=26) == date(2000, 12, 26).
"""
def timetuple():
@@ -232,7 +234,7 @@
"""Return the current UTC date and time, with tzinfo None.
This is like now(), but returns the current UTC date and time, as a
- naive datetime object.
+ naive datetime object.
See also now().
"""
@@ -357,7 +359,7 @@
If you merely want to attach a time zone object tz to a datetime dt
without adjustment of date and time members, use dt.replace(tzinfo=tz).
If you merely want to remove the time zone object from an aware
- datetime dt without conversion of date and time members, use
+ datetime dt without conversion of date and time members, use
dt.replace(tzinfo=None).
Note that the default tzinfo.fromutc() method can be overridden in a
diff --git a/mercurial/thirdparty/zope/interface/advice.py b/mercurial/thirdparty/zope/interface/advice.py
--- a/mercurial/thirdparty/zope/interface/advice.py
+++ b/mercurial/thirdparty/zope/interface/advice.py
@@ -25,6 +25,8 @@
Visit the PEAK home page at http://peak.telecommunity.com for more information.
"""
+from __future__ import absolute_import
+
from types import FunctionType
try:
from types import ClassType
diff --git a/mercurial/thirdparty/zope/interface/adapter.py b/mercurial/thirdparty/zope/interface/adapter.py
--- a/mercurial/thirdparty/zope/interface/adapter.py
+++ b/mercurial/thirdparty/zope/interface/adapter.py
@@ -13,16 +13,18 @@
##############################################################################
"""Adapter management
"""
+from __future__ import absolute_import
+
import weakref
-from zope.interface import implementer
-from zope.interface import providedBy
-from zope.interface import Interface
-from zope.interface import ro
-from zope.interface.interfaces import IAdapterRegistry
+from . import implementer
+from . import providedBy
+from . import Interface
+from . import ro
+from .interfaces import IAdapterRegistry
-from zope.interface._compat import _normalize_name
-from zope.interface._compat import STRING_TYPES
+from ._compat import _normalize_name
+from ._compat import STRING_TYPES
_BLANK = u''
@@ -409,7 +411,7 @@
LookupBasePy = LookupBaseFallback # BBB
try:
- from zope.interface._zope_interface_coptimizations import LookupBase
+ from ._zope_interface_coptimizations import LookupBase
except ImportError:
LookupBase = LookupBaseFallback
@@ -445,7 +447,7 @@
VerifyingBasePy = VerifyingBaseFallback #BBB
try:
- from zope.interface._zope_interface_coptimizations import VerifyingBase
+ from ._zope_interface_coptimizations import VerifyingBase
except ImportError:
VerifyingBase = VerifyingBaseFallback
diff --git a/mercurial/thirdparty/zope/interface/_zope_interface_coptimizations.c b/mercurial/thirdparty/zope/interface/_zope_interface_coptimizations.c
--- a/mercurial/thirdparty/zope/interface/_zope_interface_coptimizations.c
+++ b/mercurial/thirdparty/zope/interface/_zope_interface_coptimizations.c
@@ -47,7 +47,8 @@
{
PyObject *declarations, *i;
- declarations = PyImport_ImportModule("zope.interface.declarations");
+ declarations = PyImport_ImportModule(
+ "mercurial.thirdparty.zope.interface.declarations");
if (declarations == NULL)
return -1;
@@ -1336,7 +1337,7 @@
static void
verifying_dealloc(verify *self)
{
- PyObject_GC_UnTrack((PyObject *)self);
+ PyObject_GC_UnTrack((PyObject *)self);
verifying_clear(self);
Py_TYPE(self)->tp_free((PyObject*)self);
}
diff --git a/mercurial/thirdparty/zope/interface/_flatten.py b/mercurial/thirdparty/zope/interface/_flatten.py
--- a/mercurial/thirdparty/zope/interface/_flatten.py
+++ b/mercurial/thirdparty/zope/interface/_flatten.py
@@ -15,7 +15,10 @@
See Adapter class.
"""
-from zope.interface import Declaration
+
+from __future__ import absolute_import
+
+from .interface import Declaration
def _flatten(implements, include_None=0):
diff --git a/mercurial/thirdparty/zope/interface/_compat.py b/mercurial/thirdparty/zope/interface/_compat.py
--- a/mercurial/thirdparty/zope/interface/_compat.py
+++ b/mercurial/thirdparty/zope/interface/_compat.py
@@ -13,6 +13,8 @@
##############################################################################
"""Basic components support
"""
+from __future__ import absolute_import
+
import sys
import types
diff --git a/mercurial/thirdparty/zope/interface/__init__.py b/mercurial/thirdparty/zope/interface/__init__.py
--- a/mercurial/thirdparty/zope/interface/__init__.py
+++ b/mercurial/thirdparty/zope/interface/__init__.py
@@ -48,42 +48,45 @@
See the module doc strings for more information.
"""
+
+from __future__ import absolute_import
+
__docformat__ = 'restructuredtext'
-from zope.interface.interface import Interface
-from zope.interface.interface import _wire
+from .interface import Interface
+from .interface import _wire
# Need to actually get the interface elements to implement the right interfaces
_wire()
del _wire
-from zope.interface.declarations import Declaration
-from zope.interface.declarations import alsoProvides
-from zope.interface.declarations import classImplements
-from zope.interface.declarations import classImplementsOnly
-from zope.interface.declarations import classProvides
-from zope.interface.declarations import directlyProvidedBy
-from zope.interface.declarations import directlyProvides
-from zope.interface.declarations import implementedBy
-from zope.interface.declarations import implementer
-from zope.interface.declarations import implementer_only
-from zope.interface.declarations import implements
-from zope.interface.declarations import implementsOnly
-from zope.interface.declarations import moduleProvides
-from zope.interface.declarations import named
-from zope.interface.declarations import noLongerProvides
-from zope.interface.declarations import providedBy
-from zope.interface.declarations import provider
-from zope.interface.exceptions import Invalid
-from zope.interface.interface import Attribute
-from zope.interface.interface import invariant
-from zope.interface.interface import taggedValue
+from .declarations import Declaration
+from .declarations import alsoProvides
+from .declarations import classImplements
+from .declarations import classImplementsOnly
+from .declarations import classProvides
+from .declarations import directlyProvidedBy
+from .declarations import directlyProvides
+from .declarations import implementedBy
+from .declarations import implementer
+from .declarations import implementer_only
+from .declarations import implements
+from .declarations import implementsOnly
+from .declarations import moduleProvides
+from .declarations import named
+from .declarations import noLongerProvides
+from .declarations import providedBy
+from .declarations import provider
+from .exceptions import Invalid
+from .interface import Attribute
+from .interface import invariant
+from .interface import taggedValue
# The following are to make spec pickles cleaner
-from zope.interface.declarations import Provides
+from .declarations import Provides
-from zope.interface.interfaces import IInterfaceDeclaration
+from .interfaces import IInterfaceDeclaration
moduleProvides(IInterfaceDeclaration)
To: indygreg, #hg-reviewers, durin42
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list