本文整理汇总了Python中zope.interface.declarations.providedBy函数的典型用法代码示例。如果您正苦于以下问题:Python providedBy函数的具体用法?Python providedBy怎么用?Python providedBy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了providedBy函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: image_fields
def image_fields(self):
""" read interface
"""
fields = []
for field in self.context.Schema().fields():
if IBlobImageField in providedBy(field).interfaces() or \
IImageField in providedBy(field).interfaces() and \
field.get_size(self.context) > 0:
fields.append(field)
return fields
开发者ID:hersonrodrigues,项目名称:plone.app.imagecropping,代码行数:12,代码来源:utils.py
示例2: getAdapter
def getAdapter(obj, interfaceClass, default=_Nothing,
adapterClassLocator=None, persist=None):
"""DEPRECATED. Return an object that implements the given interface.
The result will be a wrapper around the object passed as a parameter, or
the parameter itself if it already implements the interface. If no
adapter can be found, the 'default' parameter will be returned.
The recommended way of replacing uses of this function is to use
IFoo(o), since getAdapter is tied to a specific Twisted registry
and thus won't interoperate well.
"""
warnings.warn("components.getAdapter() is deprecated.", ComponentsDeprecationWarning, stacklevel=2)
if hasattr(obj, '__class__'):
fixClassImplements(obj.__class__)
self = globalRegistry
if interfaceClass.providedBy(obj):
return obj
if persist != False:
pkey = (id(obj), interfaceClass)
if _adapterPersistence.has_key(pkey):
return _adapterPersistence[pkey]
factory = self.lookup1(declarations.providedBy(obj), interfaceClass)
if factory != None:
return factory(obj)
if default == _Nothing:
raise NotImplementedError
else:
return default
开发者ID:KatiaBorges,项目名称:exeLearning,代码行数:32,代码来源:components.py
示例3: _getUtilityProvided
def _getUtilityProvided(component):
provided = list(providedBy(component))
if len(provided) == 1:
return provided[0]
raise TypeError(
"The utility doesn't provide a single interface "
"and no provided interface was specified.")
开发者ID:AlexanderHerlan,项目名称:syncpy,代码行数:7,代码来源:registry.py
示例4: providedBy
def providedBy(self, ob):
"""Is the interface implemented by an object
>>> from zope.interface import *
>>> class I1(Interface):
... pass
>>> class C(object):
... implements(I1)
>>> c = C()
>>> class X(object):
... pass
>>> x = X()
>>> I1.providedBy(x)
False
>>> I1.providedBy(C)
False
>>> I1.providedBy(c)
True
>>> directlyProvides(x, I1)
>>> I1.providedBy(x)
True
>>> directlyProvides(C, I1)
>>> I1.providedBy(C)
True
"""
spec = providedBy(ob)
return self in spec._implied
开发者ID:BackupTheBerlios,项目名称:tf-b4rt-svn,代码行数:28,代码来源:interface.py
示例5: image_fields
def image_fields(self):
""" read interface
"""
fields = []
for field in self.context.getTypeInfo().lookupSchema():
img_field = getattr(self.context, field, None)
if img_field and IImage in providedBy(img_field).interfaces():
fields.append(img_field)
return fields
开发者ID:jlantz,项目名称:plone.app.imagecropping,代码行数:11,代码来源:utils.py
示例6: adapter_hook
def adapter_hook(self, interface, object, name='', default=None):
"""Hook function used when calling interfaces.
When called from Interface.__adapt__, only the interface and
object parameters will be passed.
"""
factory = self.lookup1(providedBy(object), interface, name)
if factory is not None:
return factory(object)
return default
开发者ID:pwarren,项目名称:AGDeviceControl,代码行数:12,代码来源:adapter.py
示例7: adapter_hook
def adapter_hook(self, interface, object, name='', default=None):
"""Hook function used when calling interfaces.
When called from Interface.__adapt__, only the interface and
object parameters will be passed.
If the factory produces `None`, then the default is returned. This
allows us to prevent adaptation (if desired) and make the factory
decide whether an adapter will be available.
"""
factory = self.lookup1(providedBy(object), interface, name)
if factory is not None:
adapter = factory(object)
if adapter is not None:
return adapter
return default
开发者ID:alga,项目名称:vejas,代码行数:16,代码来源:adapter.py
示例8: is_allowed_to_view
def is_allowed_to_view(request, view_name):
"""
Check if the current user have the right to the view
"""
try:
reg = request.registry
except AttributeError:
reg = get_current_registry()
request_iface = reg.queryUtility(IRouteRequest, name=view_name)
provides = [IViewClassifier,
request_iface,
providedBy(request.context)]
view = reg.adapters.lookup(provides, ISecuredView, name='')
assert view is not None
return view.__permitted__(request.context, request)
开发者ID:SabatierBoris,项目名称:CecileWebSite,代码行数:17,代码来源:menu.py
示例9: __get__
def __get__(self, inst, cls=None):
# We're looking at a class - fall back on default
if inst is None:
return getObjectSpecification(cls)
# Find the cached value.
cache = getattr(inst, '_v__providedBy__', None)
# Find the data we need to know if our cache needs to be invalidated
provided = alias_provides = getattr(inst, '__provides__', None)
# See if we have a valid cache, and if so return it
if cache is not None:
cached_mtime, cached_provides, cached_provided = cache
if (
inst._p_mtime == cached_mtime and
alias_provides is cached_provides
):
return cached_provided
# If the instance doesn't have a __provides__ attribute, get the
# interfaces implied by the class as a starting point.
if provided is None:
assert cls == Alias # XXX: remove
provided = implementedBy(cls)
# Add the interfaces provided by the target
target = aq_base(inst._target)
if target is None:
return provided # don't cache yet!
# Add the interfaces provided by the target, but take away
# IHasAlias if set
provided += providedBy(target) - IHasAlias - IIterateAware
if ITranslatable:
provided -= ITranslatable
inst._v__providedBy__ = inst._p_mtime, alias_provides, provided
return provided
开发者ID:Goldmund-Wyldebeast-Wunderliebe,项目名称:collective.alias,代码行数:42,代码来源:content.py
示例10: providedBy
def providedBy(self, ob):
"""Is the interface implemented by an object
"""
spec = providedBy(ob)
return self in spec._implied
开发者ID:esabelhaus,项目名称:secret-octo-dubstep,代码行数:5,代码来源:interface.py
示例11: _hook
def _hook(iface, ob):
factory = lookup(declarations.providedBy(ob), iface)
if factory is None:
return None
else:
return factory(ob)
开发者ID:UstadMobile,项目名称:exelearning-ustadmobile-work,代码行数:6,代码来源:components.py
示例12: _lookup_adapter_hook
def _lookup_adapter_hook(iface, ob):
factory = registry.lookup1(declarations.providedBy(ob), iface)
return factory and factory(ob)
开发者ID:pragmaticcoders,项目名称:serialization,代码行数:3,代码来源:adapter.py
示例13: _adapter_hook
def _adapter_hook(self, iface, ob):
factory = self._adapters.lookup1(declarations.providedBy(ob), iface)
return factory and factory(ob)
开发者ID:f3at,项目名称:feat,代码行数:3,代码来源:applications.py
示例14: _hook
def _hook(iface, ob, lookup=_vcoRegistry.lookup1):
factory = lookup(declarations.providedBy(ob), iface)
if factory is None:
return None
else:
return factory(ob)
开发者ID:BillTheBest,项目名称:vmw.vco,代码行数:6,代码来源:components.py
示例15: getFlattener
def getFlattener(original):
"""Get a flattener function with signature (ctx, original) for the object original.
"""
return tpc.globalRegistry.lookup1(declarations.providedBy(original), ISerializable, 'nevow.flat')
开发者ID:perkinslr,项目名称:nevow-py3,代码行数:4,代码来源:ten.py
示例16: queryType
def queryType(object, interface):
"""Returns the object's interface which implements interface.
>>> from zope.interface import Interface
>>> class IContentType(Interface):
... pass
>>> from zope.interface import Interface, implements, directlyProvides
>>> class I(Interface):
... pass
>>> class J(Interface):
... pass
>>> directlyProvides(I, IContentType)
>>> class C(object):
... implements(I)
>>> class D(object):
... implements(J,I)
>>> obj = C()
>>> c1_ctype = queryType(obj, IContentType)
>>> c1_ctype.__name__
'I'
>>> class I1(I):
... pass
>>> class I2(I1):
... pass
>>> class I3(Interface):
... pass
>>> class C1(object):
... implements(I1)
>>> obj1 = C1()
>>> c1_ctype = queryType(obj1, IContentType)
>>> c1_ctype.__name__
'I'
>>> class C2(object):
... implements(I2)
>>> obj2 = C2()
>>> c2_ctype = queryType(obj2, IContentType)
>>> c2_ctype.__name__
'I'
>>> class C3(object):
... implements(I3)
>>> obj3 = C3()
If Interface doesn't provide `IContentType`, `queryType` returns ``None``.
>>> c3_ctype = queryType(obj3, IContentType)
>>> c3_ctype
>>> c3_ctype is None
True
>>> class I4(I):
... pass
>>> directlyProvides(I4, IContentType)
>>> class C4(object):
... implements(I4)
>>> obj4 = C4()
>>> c4_ctype = queryType(obj4, IContentType)
>>> c4_ctype.__name__
'I4'
"""
# Remove the security proxy, so that we can introspect the type of the
# object's interfaces.
naked = removeSecurityProxy(object)
object_iro = providedBy(naked).__iro__
for iface in object_iro:
if interface.providedBy(iface):
return iface
return None
开发者ID:grodniewicz,项目名称:oship,代码行数:69,代码来源:__init__.py
注:本文中的zope.interface.declarations.providedBy函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论