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) 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/_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/_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/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/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/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/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/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/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/declarations.py b/mercurial/thirdparty/zope/interface/declarations.py --- a/mercurial/thirdparty/zope/interface/declarations.py +++ b/mercurial/thirdparty/zope/interface/declarations.py @@ -24,6 +24,8 @@ provided by objects. """ +from __future__ import absolute_import + __docformat__ = 'restructuredtext' import sys @@ -32,12 +34,12 @@ 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/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/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/interface.py b/mercurial/thirdparty/zope/interface/interface.py --- a/mercurial/thirdparty/zope/interface/interface.py +++ b/mercurial/thirdparty/zope/interface/interface.py @@ -13,7 +13,7 @@ ############################################################################## """Interface object implementation """ -from __future__ import generators +from __future__ import absolute_import, generators import sys from types import MethodType @@ -21,8 +21,8 @@ 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/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/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/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/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