• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python interfaces.ILocation类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中zope.location.interfaces.ILocation的典型用法代码示例。如果您正苦于以下问题:Python ILocation类的具体用法?Python ILocation怎么用?Python ILocation使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ILocation类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: render_content_provider

def render_content_provider(econtext, name):
    name = name.strip()

    context = econtext.get("context")
    request = econtext.get("request")
    view = econtext.get("view")

    cp = zope.component.queryMultiAdapter(
        (context, request, view), IContentProvider, name=name
    )

    # provide a useful error message, if the provider was not found.
    # Be sure to provide the objects in addition to the name so
    # debugging ZCML registrations is possible
    if cp is None:
        raise ContentProviderLookupError(name, (context, request, view))

    # add the __name__ attribute if it implements ILocation
    if ILocation.providedBy(cp):
        cp.__name__ = name

    # Insert the data gotten from the context
    addTALNamespaceData(cp, econtext)

    # Stage 1: Do the state update.
    zope.event.notify(BeforeUpdateEvent(cp, request))
    cp.update()

    # Stage 2: Render the HTML content.
    return cp.render()
开发者ID:zopefoundation,项目名称:z3c.pt,代码行数:30,代码来源:expressions.py


示例2: test_factory_location

    def test_factory_location(self):
        # Given an object that is a location,
        # it is not proxied
        @interface.implementer(ILocation)
        class LocatedTarget(Target):
            __name__ = None
            __parent__ = None

        getAnnotation = factory(LocatedTarget)

        context = Context()
        target = getAnnotation(context)

        key = 'zope.annotation.tests.test_factory.LocatedTarget'
        self.assertEqual([key],
                         list(context))

        # Second, a target object is stored at that location.
        self.assertEqual(type(context[key]), LocatedTarget)

        # Third, the returned object is an ILocation, rooted at the
        # parent and having the given name.
        self.assertTrue(ILocation.providedBy(target))
        self.assertIs(target.__parent__, context)
        self.assertEqual(target.__name__, key)

        # And it's not a proxy.
        self.assertEqual(type(target), LocatedTarget)
        self.assertTrue(ITarget.providedBy(target))
        self.assertIs(target, context[key])
开发者ID:zopefoundation,项目名称:zope.annotation,代码行数:30,代码来源:test_factory.py


示例3: update

    def update(self):
        """See zope.contentprovider.interfaces.IContentProvider"""
        #--=mpj17=-- Stolen from zope.viewlet.manager
        self.__updated = True
        # Find all content providers for the region
        viewlets = getAdapters(
            (self.context, self.request, self.__parent__, self),
            interfaces.IViewlet)
        viewlets = self.filter_out_no_shows(viewlets)

        # --=mpj17=-- This is the main change to the standard viewlet
        #       manager: the viewlets are sorted according to the
        #       "weight" attribute
        viewlets.sort(key=lambda v: int(v[1].weight))

        self.viewlets = []
        for name, viewlet in viewlets:
            if ILocation.providedBy(viewlet):
                viewlet.__name__ = name
            self.viewlets.append(viewlet)
            # --=mpj17=-- Don't call _updateViewlets, because it does
            #       not exist in Zope 2.10
            if zope213:
                notify(BeforeUpdateEvent(viewlet, self.request))
            viewlet.update()
开发者ID:groupserver,项目名称:gs.viewlet,代码行数:25,代码来源:manager.py


示例4: __init__

    def __init__(self, context):
        perms = []
        # first get object permissionsmap
        supp = IObjectPermissionsMaps(context, None)
        if supp is not None:
            perms.extend(supp.get())

        for name, permissions in getAdapters((context,), IPermissionsMap):
        # then get adapted permissionsmap
            perms.append(permissions)

        self.perms = perms

        # collect parents permissionsmaps
        parent_perms = []
        if hasattr(context, '__parent__'):
            parent_context = context.__parent__
        else:
            parent_context = None
        while ILocation.providedBy(parent_context) and parent_context is not None:
            for name, permissions in getAdapters((parent_context,), IPermissionsMap):
                if permissions not in parent_perms:
                    parent_perms.append(permissions)
            parent_context = parent_context.__parent__

        self.parent_perms = parent_perms #tuple(reversed(parent_perms)) # Permissions are propagated in 'child -> parent' direction
开发者ID:Zojax,项目名称:zojax.permissionsmap,代码行数:26,代码来源:manager.py


示例5: update

    def update(self):
        """
        Update the viewlet manager for rendering.

        This method is part of the protocol of a content provider, called before
        :meth:`render`. This implementation will use it to:

        1. Find the total set of available viewlets by querying for viewlet adapters.
        2. Filter the total set down to the active set by using :meth:`filter`.
        3. Sort the active set using :meth:`sort`.
        4. Provide viewlets that implement :class:`~zope.location.interfaces.ILocation`
           with a name.
        5. Set :attr:`viewlets` to the found set of active viewlets.
        6. Fire :class:`.BeforeUpdateEvent` for each active viewlet before calling ``update()``
           on it.

        ..  seealso:: :class:`zope.contentprovider.interfaces.IContentProvider`
        """
        self.__updated = True

        # Find all content providers for the region
        viewlets = zope.component.getAdapters(
            (self.context, self.request, self.__parent__, self),
            interfaces.IViewlet)

        viewlets = self.filter(viewlets)
        viewlets = self.sort(viewlets)
        # Just use the viewlets from now on
        self.viewlets = []
        for name, viewlet in viewlets:
            if ILocation.providedBy(viewlet):
                viewlet.__name__ = name
            self.viewlets.append(viewlet)
        self._updateViewlets()
开发者ID:zopefoundation,项目名称:zope.viewlet,代码行数:34,代码来源:manager.py


示例6: get_title_from_context

def get_title_from_context(context):
    title = None
    if IAlchemistContent.providedBy(context):
        if IDCDescriptiveProperties.providedBy(context):
            title = context.title
        else:
            props = IDCDescriptiveProperties(context, None)
            if props is not None:
                title = props.title
            else:
                title = context.short_name
    elif IAlchemistContainer.providedBy(context):
        domain_model = context._class 
        try:
            descriptor = queryModelDescriptor(domain_model)
        except:
            descriptor = None
            name = ""
        if descriptor:
            name = getattr(descriptor, 'container_name', None)
            if name is None:
                name = getattr(descriptor, 'display_name', None)
        if not name:
            name = getattr(context, '__name__', None)
        title = name
    elif ILocation.providedBy(context) and \
         IDCDescriptiveProperties.providedBy(context):
        title = context.title
    return title
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:29,代码来源:navigation.py


示例7: contained

def contained(obj, parent=None, name=None):
    """An implementation of zope.app.container.contained.contained
    that doesn't generate events, for internal use.

    copied from SQLOS / z3c.zalchemy
    """
    if (parent is None):
        raise TypeError('Must provide a parent')

    if not IContained.providedBy(obj):
        if ILocation.providedBy(obj):
            interface.directlyProvides(obj, IContained,
                                       interface.directlyProvidedBy(obj))
        else:
            obj = ContainedProxy(obj)

    oldparent = obj.__parent__
    oldname = obj.__name__

    if (oldparent is None) or not (oldparent is parent
                                   or sameProxiedObjects(oldparent, parent)):
        obj.__parent__ = parent

    if oldname != name and name is not None:
        obj.__name__ = name

    return obj
开发者ID:BGCX261,项目名称:zope-alchemist-svn-to-git,代码行数:27,代码来源:container.py


示例8: _get_title_from_context

def _get_title_from_context(context):
    title = None
    if IAlchemistContent.providedBy(context):
        if IDCDescriptiveProperties.providedBy(context):
            title = context.title
        else:
            props = IDCDescriptiveProperties(context, None)
            if props is not None:
                title = props.title
            else:
                ''' !+
AttributeError: 'GroupAddress' object has no attribute 'short_name':   File "/home/undesa/bungeni/cap_installs/bungeni_install/bungeni/releases/20100305100101/src/bungeni.main/bungeni/ui/viewlets/navigation.py", line 59, in _get_title_from_context
                #title = context.short_name 
So, we temporarily default the above to the context.__class__.__name__:
                '''
                title = getattr(context, "short_name", 
                    context.__class__.__name__)
    elif IAlchemistContainer.providedBy(context):
        domain_model = context._class 
        try:
            descriptor = queryModelDescriptor(domain_model)
        except:
            descriptor = None
            name = ""
        if descriptor:
            name = getattr(descriptor, 'container_name', None)
            if name is None:
                name = getattr(descriptor, 'display_name', None)
        if not name:
            name = getattr(context, '__name__', None)
        title = name
    elif ILocation.providedBy(context) and \
         IDCDescriptiveProperties.providedBy(context):
        title = context.title
    return title
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:35,代码来源:navigation.py


示例9: __call__

    def __call__(self, econtext):
        name = super(ProviderExpression, self).__call__(econtext)
        view = econtext.vars['view']
        context = view.context
        request = view.request

        # Try to look up the provider.
        provider = zope.component.queryMultiAdapter(
            (context, request, view), interfaces.IContentProvider, name)

        # Provide a useful error message, if the provider was not found.
        if provider is None:
            raise interfaces.ContentProviderLookupError(name)

        # add the __name__ attribute if it implements ILocation
        if ILocation.providedBy(provider):
            provider.__name__ = name

        # Insert the data gotten from the context
        addTALNamespaceData(provider, econtext)

        # Stage 1: Do the state update.
        zope.event.notify(interfaces.BeforeUpdateEvent(provider, request))
        provider.update()

        # Stage 2: Render the HTML content.
        return provider.render()
开发者ID:azazel75,项目名称:Products.FileSystemSite,代码行数:27,代码来源:provider.py


示例10: test_factory_no_location

    def test_factory_no_location(self):

        getAnnotation = factory(Target)

        context = Context()
        target = getAnnotation(context)

        # Several things have happened now.
        # First, we have an annotation, derived from
        # our class name
        key = 'zope.annotation.tests.test_factory.Target'
        self.assertEqual([key],
                         list(context))

        # Second, a target object is stored at that location.
        self.assertEqual(type(context[key]), Target)

        # Third, the returned object is an ILocation, rooted at the
        # parent and having the given name.
        self.assertTrue(ILocation.providedBy(target))
        self.assertIs(target.__parent__, context)
        self.assertEqual(target.__name__, key)

        # But it's a proxy.
        self.assertNotEqual(type(target), Target)
        self.assertTrue(ITarget.providedBy(target))
开发者ID:zopefoundation,项目名称:zope.annotation,代码行数:26,代码来源:test_factory.py


示例11: render_content_provider

def render_content_provider(econtext, name):
    name = name.strip()

    context = econtext.get('context')
    request = econtext.get('request')
    view = econtext.get('view')

    cp = zope.component.queryMultiAdapter(
        (context, request, view), IContentProvider, name=name)

    # provide a useful error message, if the provider was not found.
    if cp is None:
        raise ContentProviderLookupError(name)

    # add the __name__ attribute if it implements ILocation
    if ILocation.providedBy(cp):
        cp.__name__ = name

    # Insert the data gotten from the context
    addTALNamespaceData(cp, econtext)

    # Stage 1: Do the state update.
    if BeforeUpdateEvent is not None:
        zope.event.notify(BeforeUpdateEvent(cp, request))
    cp.update()

    # Stage 2: Render the HTML content.
    return cp.render()
开发者ID:jean,项目名称:z3c.pt,代码行数:28,代码来源:expressions.py


示例12: _setUpWidgets

 def _setUpWidgets(self):
     adapted = self.schema(self.context)
     if adapted is not self.context:
         if not ILocation.providedBy(adapted):
             adapted = LocationProxy(adapted)
         adapted.__parent__ = self.context
     self.adapted = adapted
     setUpEditWidgets(self, self.schema, source=self.adapted,
                      names=self.fieldNames)
开发者ID:jean,项目名称:five.formlib,代码行数:9,代码来源:__init__.py


示例13: __setitem__

    def __setitem__(self, name, value):
        if ILocation.providedBy(value):
            super(HighlightData, self).__setitem__(name, value)

            if hasattr(self, name):
                delattr(self, name)

        else:
            setattr(self, name, value)
开发者ID:danilogbotelho,项目名称:Highlights-Manager,代码行数:9,代码来源:storage.py


示例14: __init__

 def __init__(self, authplugin, pau):
     # locate them
     if ILocation.providedBy(authplugin):
         self.__parent__ = authplugin.__parent__
         self.__name__ = authplugin.__name__
     else:
         self.__parent__ = pau
         self.__name__ = ""
     self.authplugin = authplugin
     self.pau = pau
开发者ID:jean,项目名称:z3c.authenticator,代码行数:10,代码来源:authentication.py


示例15: update

    def update(self):
        self.path = self._get_path(self.context)

        # if the view is a location, append this to the breadcrumbs
        if ILocation.providedBy(self.__parent__) and IDCDescriptiveProperties.providedBy(self.__parent__):
            self.path.append({"name": self.__parent__.title, "url": None})

        try:
            self.user_name = self.request.principal.login
        except:
            pass
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:11,代码来源:navigation.py


示例16: update

 def update(self):
     self.path = self._get_path(self.context)
     
     # if the view is a location, append this to the breadcrumbs
     if ILocation.providedBy(self.__parent__) and \
            IDCDescriptiveProperties.providedBy(self.__parent__):
         self.path.append({
                 "name": self.__parent__.title,
                 "url": None,
             })
     self.chamber = get_chamber_for_context(self.context)
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:11,代码来源:navigation.py


示例17: __init__

 def __init__(self, authplugin, pau):
     if (ILocation.providedBy(authplugin) and
         authplugin.__parent__ is not None):
         # Checking explicitly for the parent, because providing ILocation
         # basically means that the object *could* be located. It doesn't
         # say the object must be located.
         self.__parent__ = authplugin.__parent__
         self.__name__ = authplugin.__name__
     else:
         self.__parent__ = pau
         self.__name__ = ""
     self.authplugin = authplugin
     self.pau = pau
     self.schema = authplugin.schema
开发者ID:jean,项目名称:zope.app.authentication,代码行数:14,代码来源:authentication.py


示例18: publishTraverse

 def publishTraverse(self, request, name):
     # this is the primary condition; traverse to ``name`` by
     # looking up methods on this class
     try:
         method = getattr(self.context, "get_%s" % name)
     except AttributeError:
         # fall back to default traversal (view lookup)
         def method():
             return super(SchedulingContextTraverser, self
                 ).publishTraverse(request, name)
     obj = method()
     assert ILocation.providedBy(obj), obj
     log.debug("SchedulingContextTraverser.publishTraverse: " \
         "self=%s context=%s name=%s obj=%s" % (self, self.context, name, obj))
     return ProxyFactory(LocationProxy(
         removeSecurityProxy(obj), container=self.context, name=name))
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:16,代码来源:schedule.py


示例19: show_overlay

    def show_overlay(self):
        """Check whether the calendar overlay portlet needs to be rendered.

            >>> from zope.app.testing import setup
            >>> setup.placelessSetUp()
            >>> setup.setUpAnnotations()

            >>> from schooltool.testing import setup as sbsetup
            >>> sbsetup.setUpCalendaring()

        The portlet is only shown when an authenticated user is looking
        at his/her calendar.

        Anonymous user:

            >>> from zope.publisher.browser import TestRequest
            >>> from schooltool.person.person import Person
            >>> request = TestRequest()
            >>> person = Person()
            >>> context = ISchoolToolCalendar(person)
            >>> view = CalendarOverlayView(context, request, None, None)
            >>> view.show_overlay()
            False

        Person that we're looking at

            >>> from schooltool.app.security import Principal
            >>> request.setPrincipal(Principal('id', 'title', person))
            >>> view.show_overlay()
            True

        A different person:

            >>> request.setPrincipal(Principal('id', 'title', Person()))
            >>> view.show_overlay()
            False

       Cleanup:

            >>> setup.placelessTearDown()

        """
        if not ILocation.providedBy(self.context):
            return False
        logged_in = removeSecurityProxy(IPerson(self.request.principal, None))
        calendar_owner = removeSecurityProxy(self.context.__parent__)
        return logged_in is calendar_owner
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:47,代码来源:overlay.py


示例20: update

    def update(self):
        """See zope.contentprovider.interfaces.IContentProvider"""
        self.__updated = True

        # Find all content providers for the region
        viewlets = zope.component.getAdapters(
            (self.context, self.request, self.__parent__, self),
            interfaces.IViewlet)

        viewlets = self.filter(viewlets)
        viewlets = self.sort(viewlets)
        # Just use the viewlets from now on
        self.viewlets=[]
        for name, viewlet in viewlets:
            if ILocation.providedBy(viewlet):
                viewlet.__name__ = name
            self.viewlets.append(viewlet)
        self._updateViewlets()
开发者ID:jean,项目名称:zope.viewlet,代码行数:18,代码来源:manager.py



注:本文中的zope.location.interfaces.ILocation类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python interfaces.ISite类代码示例发布时间:2022-05-26
下一篇:
Python lifecycleevent.modified函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap