def adapter_for_class(class_, adapter_interface):
gsm = getGlobalSiteManager()
adapter = gsm.adapters.registered((implementedBy(class_),), adapter_interface)
if adapter:
return adapter
# recurse up the inheritence tree to find an adapter, if we don't have one
# registered for this class directly.
for base_class in class_.__bases__:
return adapter_for_class(base_class, adapter_interface)
评论列表
文章目录