D2930: thirdparty: port zope.interface to relative imports

2018-03-30 Thread indygreg (Gregory Szorc)
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=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):

D2930: thirdparty: port zope.interface to relative imports

2018-03-21 Thread indygreg (Gregory Szorc)
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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.
  
  1. no-check-commit because some modified lines have double newlines

REPOSITORY
  rHG Mercurial

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