Skip to content

Commit

Permalink
Merge 741972e into 1268183
Browse files Browse the repository at this point in the history
  • Loading branch information
jamadden committed Nov 8, 2017
2 parents 1268183 + 741972e commit 472f114
Show file tree
Hide file tree
Showing 27 changed files with 204 additions and 130 deletions.
3 changes: 2 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Changes
- Always install ``zope.hookable`` as a dependency (the ``hook``
extra is now empty). ``zope.hookable`` respects the PURE_PYTHON
environment variable, and has an optional C extension.

- Make accessing names that have been moved to ``zope.interface``
produce a ``DeprecationWarning``.

4.4.1 (2017-09-26)
------------------
Expand Down
5 changes: 2 additions & 3 deletions docs/api/sitemanager.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Site Manager APIs

.. doctest::

>>> from zope.component.interfaces import IComponentLookup
>>> from zope.interface.interfaces import IComponentLookup
>>> from zope.component.globalregistry import base
>>> from zope.component import getGlobalSiteManager
>>> gsm = getGlobalSiteManager()
Expand Down Expand Up @@ -37,7 +37,7 @@ Site Manager APIs
.. doctest::

>>> from zope.component import getSiteManager
>>> from zope.component.interfaces import IComponentLookup
>>> from zope.interface.interfaces import IComponentLookup
>>> IComponentLookup.providedBy(getSiteManager())
True

Expand Down Expand Up @@ -85,4 +85,3 @@ Site Manager APIs
...
ComponentLookupError: ('Could not adapt', <instance Ob>,
<InterfaceClass zope...interfaces.IComponentLookup>)

2 changes: 1 addition & 1 deletion docs/api/utility.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ Now we create two utilities and insert them in our folder hierarchy:

.. doctest::

>>> from zope.component.interfaces import IComponentLookup
>>> from zope.interface.interfaces import IComponentLookup
>>> util1 = MyUtility('one', sm1)
>>> sm1.registerUtility(util1, IMyUtility, 'myutil')
>>> IComponentLookup(util1) is sm1
Expand Down
4 changes: 2 additions & 2 deletions docs/event.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,11 @@ Then create an event class:

.. doctest::

>>> class IObjectThrownEvent(zope.component.interfaces.IObjectEvent):
>>> class IObjectThrownEvent(zope.interface.interfaces.IObjectEvent):
... """An object has been thrown away"""

>>> @zope.interface.implementer(IObjectThrownEvent)
... class ObjectThrownEvent(zope.component.interfaces.ObjectEvent):
... class ObjectThrownEvent(zope.interface.interfaces.ObjectEvent):
... """An object has been thrown away"""

Create an object and an event:
Expand Down
4 changes: 2 additions & 2 deletions docs/socketexample.rst
Original file line number Diff line number Diff line change
Expand Up @@ -673,10 +673,10 @@ always get the global site manager using the API:
>>> from zope.component import globalSiteManager
>>> gsm is globalSiteManager
True
>>> from zope.component.interfaces import IComponentLookup
>>> from zope.interface.interfaces import IComponentLookup
>>> IComponentLookup.providedBy(gsm)
True
>>> from zope.component.interfaces import IComponents
>>> from zope.interface.interfaces import IComponents
>>> IComponents.providedBy(gsm)
True

Expand Down
4 changes: 3 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,11 @@ def read(*rnames):
tests_require=TESTS_REQUIRE,
install_requires=[
'setuptools',
'zope.interface >= 4.1.0',
'zope.deferredimport >= 4.2.1',
'zope.deprecation >= 4.3.0',
'zope.event',
'zope.hookable >= 4.2.0',
'zope.interface >= 4.1.0',
],
include_package_data=True,
zip_safe=False,
Expand Down
4 changes: 2 additions & 2 deletions src/zope/component/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
from zope.interface import named
from zope.interface import providedBy

from zope.component.interfaces import ComponentLookupError
from zope.interface.interfaces import ComponentLookupError
from zope.component.interfaces import IComponentArchitecture
from zope.component.interfaces import IComponentLookup
from zope.interface.interfaces import IComponentLookup
from zope.component.interfaces import IComponentRegistrationConvenience
from zope.component.interfaces import IFactory

Expand Down
27 changes: 9 additions & 18 deletions src/zope/component/_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,13 @@
"""Zope 3 Component Architecture
"""
import sys
import types

from zope.hookable import hookable
from zope.interface import Interface
from zope.interface import implementedBy
from zope.interface import providedBy

from zope.component.interfaces import IComponentArchitecture
from zope.component.interfaces import IComponentRegistrationConvenience
from zope.component.interfaces import IFactory
from zope.component.interfaces import ComponentLookupError
from zope.component.interfaces import IComponentLookup
from zope.component._compat import _BLANK
from zope.component._declaration import adaptedBy
from zope.component._declaration import adapter
from zope.component._declaration import adapts
from zope.interface.interfaces import ComponentLookupError
from zope.interface.interfaces import IComponentLookup



Expand Down Expand Up @@ -89,26 +80,26 @@ def queryAdapterInContext(object, interface, context, default=None):

return getSiteManager(context).queryAdapter(object, interface, '', default)

def getAdapter(object, interface=Interface, name=_BLANK, context=None):
def getAdapter(object, interface=Interface, name=u'', context=None):
adapter = queryAdapter(object, interface, name, None, context)
if adapter is None:
raise ComponentLookupError(object, interface, name)
return adapter

def queryAdapter(object, interface=Interface, name=_BLANK, default=None,
def queryAdapter(object, interface=Interface, name=u'', default=None,
context=None):
if context is None:
return adapter_hook(interface, object, name, default)
return getSiteManager(context).queryAdapter(object, interface, name,
default)

def getMultiAdapter(objects, interface=Interface, name=_BLANK, context=None):
def getMultiAdapter(objects, interface=Interface, name=u'', context=None):
adapter = queryMultiAdapter(objects, interface, name, context=context)
if adapter is None:
raise ComponentLookupError(objects, interface, name)
return adapter

def queryMultiAdapter(objects, interface=Interface, name=_BLANK, default=None,
def queryMultiAdapter(objects, interface=Interface, name=u'', default=None,
context=None):
try:
sitemanager = getSiteManager(context)
Expand Down Expand Up @@ -203,9 +194,9 @@ def getNextUtility(context, interface, name=''):
"""
util = queryNextUtility(context, interface, name, _marker)
if util is _marker:
raise zope.component.interfaces.ComponentLookupError(
"No more utilities for %s, '%s' have been found." % (
interface, name))
raise ComponentLookupError(
"No more utilities for %s, '%s' have been found." % (
interface, name))
return util


Expand Down
2 changes: 0 additions & 2 deletions src/zope/component/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,3 @@

PYTHON3 = True
PYTHON2 = False

_BLANK = u''
4 changes: 2 additions & 2 deletions src/zope/component/_declaration.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"""
import sys

from zope.component._compat import CLASS_TYPES, _BLANK
from zope.component._compat import CLASS_TYPES

class adapter(object):

Expand Down Expand Up @@ -47,7 +47,7 @@ def adaptedBy(ob):
return getattr(ob, '__component_adapts__', None)

def getName(ob):
return getattr(ob, '__component_name__', _BLANK)
return getattr(ob, '__component_name__', u'')

class _adapts_descr(object):
def __init__(self, interfaces):
Expand Down
2 changes: 1 addition & 1 deletion src/zope/component/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

from zope.event import subscribers as event_subscribers

from zope.component.interfaces import IObjectEvent
from zope.interface.interfaces import IObjectEvent
from zope.component._api import subscribers as component_subscribers
from zope.component._declaration import adapter

Expand Down
8 changes: 4 additions & 4 deletions src/zope/component/globalregistry.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
from zope.interface.adapter import AdapterRegistry
from zope.interface.registry import Components

from zope.component.interfaces import IComponentLookup
from zope.component._compat import _BLANK
from zope.interface.interfaces import IComponentLookup


def GAR(components, registryName):
return getattr(components, registryName)
Expand Down Expand Up @@ -66,10 +66,10 @@ def getGlobalSiteManager():
# We eventually want to deprecate these in favor of using the global
# component registry directly.

def provideUtility(component, provides=None, name=_BLANK):
def provideUtility(component, provides=None, name=u''):
base.registerUtility(component, provides, name, event=False)

def provideAdapter(factory, adapts=None, provides=None, name=_BLANK):
def provideAdapter(factory, adapts=None, provides=None, name=u''):
base.registerAdapter(factory, adapts, provides, name, event=False)

def provideSubscriptionAdapter(factory, adapts=None, provides=None):
Expand Down
4 changes: 2 additions & 2 deletions src/zope/component/hookable.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@
"""
This module is deprecated. Prefer to use zope.hookable.hookable.
"""
from zope.hookable import hookable
hookable = hookable # BBB
import zope.deprecation
zope.deprecation.moved("zope.hookable", "4.5")
4 changes: 2 additions & 2 deletions src/zope/component/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ def removeSecurityProxy(x):
return x

from zope.component.globalregistry import getGlobalSiteManager
from zope.component.interfaces import ComponentLookupError
from zope.component.interfaces import IComponentLookup
from zope.interface.interfaces import ComponentLookupError
from zope.interface.interfaces import IComponentLookup


class read_property(object):
Expand Down
2 changes: 1 addition & 1 deletion src/zope/component/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from zope.interface.interfaces import IInterface

from zope.component.globalregistry import getGlobalSiteManager
from zope.component.interfaces import ComponentLookupError
from zope.interface.interfaces import ComponentLookupError
from zope.component._api import queryUtility
from zope.component._compat import CLASS_TYPES

Expand Down
68 changes: 35 additions & 33 deletions src/zope/component/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,33 @@
"""
from zope.interface import Attribute
from zope.interface import Interface
from zope.interface import implements

# BBB 2011-09-09, import interfaces from zope.interface
from zope.interface.interfaces import ComponentLookupError
from zope.interface.interfaces import Invalid
from zope.interface.interfaces import IObjectEvent
from zope.interface.interfaces import ObjectEvent
from zope.interface.interfaces import IComponentLookup
from zope.interface.interfaces import IRegistration
from zope.interface.interfaces import IUtilityRegistration
from zope.interface.interfaces import _IBaseAdapterRegistration
from zope.interface.interfaces import IAdapterRegistration
from zope.interface.interfaces import ISubscriptionAdapterRegistration
from zope.interface.interfaces import IHandlerRegistration
from zope.interface.interfaces import IRegistrationEvent
from zope.interface.interfaces import RegistrationEvent
from zope.interface.interfaces import IRegistered
from zope.interface.interfaces import Registered
from zope.interface.interfaces import IUnregistered
from zope.interface.interfaces import Unregistered
from zope.interface.interfaces import IComponentRegistry
from zope.interface.interfaces import IComponents

from zope.component._compat import _BLANK


# BBB 2011-09-09, import interfaces from zope.interface
import zope.deferredimport
zope.deferredimport.deprecatedFrom(
"Import from zope.interface.interfaces",
"zope.interface.interfaces",
'ComponentLookupError',
'Invalid',
'IObjectEvent',
'ObjectEvent',
'IComponentLookup',
'IRegistration',
'IUtilityRegistration',
'_IBaseAdapterRegistration',
'IAdapterRegistration',
'ISubscriptionAdapterRegistration',
'IHandlerRegistration',
'IRegistrationEvent',
'RegistrationEvent',
'IRegistered',
'Registered',
'IUnregistered',
'Unregistered',
'IComponentRegistry',
'IComponents',
)


class IComponentArchitecture(Interface):
Expand Down Expand Up @@ -85,15 +88,15 @@ def queryUtility(interface, name='', default=None, context=None):

def queryNextUtility(context, interface, name='', default=None):
"""Query for the next available utility.
Find the next available utility providing `interface` and having the
specified name. If no utility was found, return the specified `default`
value.
"""

def getNextUtility(context, interface, name=''):
"""Get the next available utility.
If no utility was found, a `ComponentLookupError` is raised.
"""

Expand All @@ -115,7 +118,7 @@ def getAllUtilitiesRegisteredFor(interface, context=None):
# Adapter API

def getAdapter(object,
interface=Interface, name=_BLANK,
interface=Interface, name=u'',
context=None):
"""Get a named adapter to an interface for an object
Expand Down Expand Up @@ -170,7 +173,7 @@ def getMultiAdapter(objects,
named adapter methods with an empty string for a name.
"""

def queryAdapter(object, interface=Interface, name=_BLANK,
def queryAdapter(object, interface=Interface, name=u'',
default=None, context=None):
"""Look for a named adapter to an interface for an object
Expand Down Expand Up @@ -207,7 +210,7 @@ def queryAdapterInContext(object, interface, context, default=None):
"""

def queryMultiAdapter(objects,
interface=Interface, name=_BLANK,
interface=Interface, name=u'',
default=None,
context=None):
"""Look for a multi-adapter to an interface for objects
Expand Down Expand Up @@ -319,7 +322,7 @@ class IComponentRegistrationConvenience(Interface):
activity.
"""

def provideUtility(component, provides=None, name=_BLANK):
def provideUtility(component, provides=None, name=u''):
"""Register a utility globally
A utility is registered to provide an interface with a
Expand All @@ -335,7 +338,7 @@ def provideUtility(component, provides=None, name=_BLANK):
"""

def provideAdapter(factory, adapts=None, provides=None, name=_BLANK):
def provideAdapter(factory, adapts=None, provides=None, name=u''):
"""Register an adapter globally
An adapter is registered to provide an interface with a name
Expand Down Expand Up @@ -432,4 +435,3 @@ def getInterfaces():
created by this factory will implement. If the callable's Implements
instance cannot be created, an empty Implements instance is returned.
"""

0 comments on commit 472f114

Please sign in to comment.