Skip to content

Commit

Permalink
Use newer registration APIs.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jim Fulton committed Apr 21, 2006
1 parent 675f076 commit 6ab62df
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
11 changes: 8 additions & 3 deletions component.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,19 @@ def getRequiredAdapters(iface, withViews=False):
if iface.isOrExtends(required_iface):
yield reg

def _adapterishRegistrations(registry):
for r in registry.registeredAdapters():
yield r
for r in registry.registeredSubscriptionAdapters():
yield r
for r in registry.registeredHandlers():
yield r

def getProvidedAdapters(iface, withViews=False):
"""Get adapter registrations where this interface is provided."""
gsm = zapi.getGlobalSiteManager()
for reg in gsm.registrations():
for reg in _adapterishRegistrations(gsm):
# Only get adapters
if not isinstance(reg, (AdapterRegistration, SubscriptionRegistration)):
continue
# Ignore adapters that have no required interfaces
if len(reg.required) == 0:
continue
Expand Down
5 changes: 2 additions & 3 deletions presentation.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,8 @@ def getPresentationType(iface):
def getViews(iface, type=IRequest):
"""Get all view registrations for a particular interface."""
gsm = zapi.getGlobalSiteManager()
for reg in gsm.registrations():
if (isinstance(reg, AdapterRegistration) and
len(reg.required) > 0 and
for reg in gsm.registeredAdapters():
if (len(reg.required) > 0 and
reg.required[-1] is not None and
reg.required[-1].isOrExtends(type)):

Expand Down
7 changes: 3 additions & 4 deletions utilitymodule/utilitymodule.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,9 @@ def items(self):
sm = zope.component.getSiteManager()
ifaces = {}
while sm is not None:
for reg in sm.registrations():
if isinstance(reg, UtilityRegistration):
path = getPythonPath(reg.provided)
ifaces[path] = UtilityInterface(self, path, reg.provided)
for reg in sm.registeredUtilities():
path = getPythonPath(reg.provided)
ifaces[path] = UtilityInterface(self, path, reg.provided)
sm = queryNextSiteManager(sm)

items = ifaces.items()
Expand Down

0 comments on commit 6ab62df

Please sign in to comment.