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

Python management.queryInteraction函数代码示例

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

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



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

示例1: lockingSetUp

def lockingSetUp(test):
    placelesssetup.setUp(test)
    z3c.etree.testing.etreeSetup(test)

    # create principal
    participation = TestRequest(environ = {"REQUEST_METHOD": "PUT"})
    participation.setPrincipal(Principal("michael"))
    if queryInteraction() is not None:
        queryInteraction().add(participation)
    else:
        newInteraction(participation)

    events = test.globs["events"] = []
    zope.event.subscribers.append(events.append)

    gsm = zope.component.getGlobalSiteManager()

    gsm.registerAdapter(DemoKeyReference,
                        (IDemo,),
                        zope.app.keyreference.interfaces.IKeyReference)
    gsm.registerAdapter(PhysicallyLocatable, (Demo,))
    gsm.registerAdapter(PhysicallyLocatable, (DemoFolder,))
    gsm.registerAdapter(DemoKeyReference, (IDemoFolder,),
                        zope.app.keyreference.interfaces.IKeyReference)
    gsm.registerAdapter(SiteManagerAdapter,
                        (zope.interface.Interface,), IComponentLookup)
    gsm.registerAdapter(DemoAbsoluteURL,
                        (IDemo, zope.interface.Interface),
                        zope.traversing.browser.interfaces.IAbsoluteURL)
    gsm.registerAdapter(DemoAbsoluteURL,
                        (IDemoFolder, zope.interface.Interface),
                        zope.traversing.browser.interfaces.IAbsoluteURL)

    # register some IDAVWidgets so that we can render the activelock and
    # supportedlock widgets.
    gsm.registerAdapter(z3c.dav.widgets.ListDAVWidget,
                        (zope.schema.interfaces.IList,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.ObjectDAVWidget,
                        (zope.schema.interfaces.IObject,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.TextDAVWidget,
                        (zope.schema.interfaces.IText,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.properties.OpaqueWidget,
                        (z3c.dav.properties.DeadField,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.TextDAVWidget,
                        (zope.schema.interfaces.IURI,
                         z3c.dav.interfaces.IWebDAVRequest))

    # Need connection to a database to manage locking
    db = test.globs["db"] = ZODB.DB(ZODB.MappingStorage.MappingStorage())
    test.globs["conn"] = db.open()

    # expose these classes to the test
    test.globs["Demo"] = Demo
    test.globs["DemoFolder"] = DemoFolder
开发者ID:mkerrin,项目名称:z3c.davapp.zopelocking,代码行数:58,代码来源:tests.py


示例2: test_restoreInteraction_after_new

    def test_restoreInteraction_after_new(self):
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction
        from zope.security.management import restoreInteraction

        newInteraction()
        self.assertTrue(queryInteraction() is not None)
        restoreInteraction()  # restore to no interaction
        self.assertTrue(queryInteraction() is None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:9,代码来源:test_management.py


示例3: test_restoreInteraction_after_end

    def test_restoreInteraction_after_end(self):
        from zope.security.management import endInteraction
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction
        from zope.security.management import restoreInteraction

        newInteraction()
        interaction = queryInteraction()
        endInteraction()
        restoreInteraction()
        self.assertTrue(interaction is queryInteraction())
开发者ID:felixonmars,项目名称:zope.security,代码行数:11,代码来源:test_management.py


示例4: test_endInteraction_repeated

    def test_endInteraction_repeated(self):
        from zope.security.management import endInteraction
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction

        newInteraction()
        interaction = queryInteraction()
        endInteraction()
        self.assertEqual(queryInteraction(), None)
        endInteraction()
        self.assertEqual(queryInteraction(), None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:11,代码来源:test_management.py


示例5: test_newInteraction

    def test_newInteraction(self):
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction

        newInteraction()
        interaction = queryInteraction()
        self.assertTrue(interaction is not None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:7,代码来源:test_management.py


示例6: getRequest

def getRequest():
    interaction = queryInteraction()

    if interaction is not None:
        for participation in interaction.participations:
            if participation is not None:
                return participation
开发者ID:Zojax,项目名称:zojax.content.notifications,代码行数:7,代码来源:utils.py


示例7: check

    def check(self):
        interaction = queryInteraction()
        if interaction is None:
            return False

        request = None
        for participation in interaction.participations:
            request = participation
            if request is not None:
                break

        if request is None:
            return False

        contenttype = self.draftct

        container = queryMultiAdapter(
            (request.principal, contenttype), IDraftContainer)
        if container is None:
            return False

        if contenttype.submit:
            if interaction.checkPermission(contenttype.submit, self.context):
                return True

        if contenttype.publish:
            if interaction.checkPermission(contenttype.publish, self.context):
                return True

        return False
开发者ID:Zojax,项目名称:zojax.content.draft,代码行数:30,代码来源:checker.py


示例8: invitationAcceptedHandler

def invitationAcceptedHandler(invitation, event):
    owner = IOwnership(invitation).owner
    if owner is None:
        return

    messaging = IMessageStorage(owner, None)
    if messaging is None:
        return

    interaction = queryInteraction()

    if interaction is not None:
        for request in interaction.participations:
            principal = invitation.principal

            view = queryMultiAdapter(
                (principal, request), IPagelet, 'personal.message')
            if view is None:
                return

            view.update()

            data = {'title': u'Your invitation has been accepted',
                    'text': view.render(),
                    'sender': unicode(principal.id)}
            messaging.create(SERVICE_ID, **data)
开发者ID:Zojax,项目名称:zojax.personal.invitation,代码行数:26,代码来源:subscriber.py


示例9: test_checkPermission

    def test_checkPermission(self):
        from zope.security import checkPermission
        from zope.security.management import setSecurityPolicy
        from zope.security.management import queryInteraction
        from zope.security.management import newInteraction, endInteraction
        from zope.security.interfaces import NoInteraction

        permission = 'zope.Test'
        obj = object()

        class PolicyStub(object):

            def checkPermission(s, p, o,):
                self.assert_(p is permission)
                self.assert_(o is obj)
                self.assert_(s is queryInteraction() or s is interaction)
                return s is interaction

        setSecurityPolicy(PolicyStub)
        newInteraction()
        interaction = queryInteraction()
        self.assertEquals(checkPermission(permission, obj), True)
        
        endInteraction()
        self.assertRaises(NoInteraction, checkPermission, permission, obj)
开发者ID:Andyvs,项目名称:TrackMonthlyExpenses,代码行数:25,代码来源:test_management.py


示例10: testPlacefulAuth

 def testPlacefulAuth(self):
     self.publication.beforeTraversal(self.request)
     self.assertEqual(list(queryInteraction().participations), [self.request])
     self.assertEqual(self.request.principal.id, "anonymous")
     root = self.publication.getApplication(self.request)
     self.publication.callTraversalHooks(self.request, root)
     self.assertEqual(self.request.principal.id, "anonymous")
     ob = self.publication.traverseName(self.request, root, "f1")
     self.publication.callTraversalHooks(self.request, ob)
     self.assertEqual(self.request.principal.id, "test.anonymous")
     ob = self.publication.traverseName(self.request, ob, "f2")
     self.publication.afterTraversal(self.request, ob)
     self.assertEqual(self.request.principal.id, "test.bob")
     self.assertEqual(list(queryInteraction().participations), [self.request])
     self.publication.endRequest(self.request, ob)
     self.assertEqual(queryInteraction(), None)
开发者ID:pigaov10,项目名称:plone4.3,代码行数:16,代码来源:test_zopepublication.py


示例11: resetingPassword

def resetingPassword(event):
    email = IMailAddress(event.principal, None)
    if email is None:
        return

    request = queryInteraction().participations[0]
    template = getMultiAdapter((event, request), IMailTemplate)
    template.send((formataddr((event.principal.title, email.address)),))
开发者ID:Zojax,项目名称:zojax.principal.password,代码行数:8,代码来源:resetpasswordmail.py


示例12: checkPermissionForPrincipal

def checkPermissionForPrincipal(principal, permission, object):
    interaction = queryInteraction()

    if IZojaxSecurityPolicy.providedBy(interaction):
        return interaction.cached_decision(
            removeSecurityProxy(object), principal.id,
            interaction._groupsFor(principal), permission)

    return False
开发者ID:Zojax,项目名称:zojax.security,代码行数:9,代码来源:utils.py


示例13: test_usable_as_contextmanager

 def test_usable_as_contextmanager(self):
     from zope.security.management import getInteraction
     from zope.security.management import queryInteraction
     from zope.security.testing import interaction
     with interaction('foo'):
         ix = getInteraction()
         participation = ix.participations[0]
         self.assertEqual('foo', participation.principal.id)
     self.assertFalse(queryInteraction())
开发者ID:SalesSeek,项目名称:zope.security,代码行数:9,代码来源:test_testing.py


示例14: test_contextmanager_ends_interaction_on_exception

 def test_contextmanager_ends_interaction_on_exception(self):
     from zope.security.management import queryInteraction
     from zope.security.testing import interaction
     try:
         with interaction('foo'):
             raise RuntimeError()
     except RuntimeError:
         pass
     self.assertFalse(queryInteraction())
开发者ID:SalesSeek,项目名称:zope.security,代码行数:9,代码来源:test_testing.py


示例15: isNotSelf

def isNotSelf(group):
    principal_id = None

    interaction = queryInteraction()
    if interaction is not None:
        for participation in interaction.participations:
            principal_id = participation.principal.id
            break
    return principal_id != group.__principal__.id
开发者ID:Zojax,项目名称:zojax.principal.facebook,代码行数:9,代码来源:remove.py


示例16: test_contextmanager_ends_interaction_on_exception

    def test_contextmanager_ends_interaction_on_exception(self):
        from zope.security.management import queryInteraction
        class MyError(Exception):
            pass

        with self.assertRaises(MyError):
            with testing.interaction('foo'):
                raise MyError()

        self.assertFalse(queryInteraction())
开发者ID:zopefoundation,项目名称:zope.security,代码行数:10,代码来源:test_testing.py


示例17: _invalidated_interaction_cache

 def _invalidated_interaction_cache(self):
     # Invalidate this threads interaction cache
     interaction = queryInteraction()
     if interaction is not None:
         try:
             invalidate_cache = interaction.invalidate_cache
         except AttributeError:
             pass
         else:
             invalidate_cache()
开发者ID:jean,项目名称:zope.securitypolicy,代码行数:10,代码来源:securitymap.py


示例18: get_interaction_extras

def get_interaction_extras():
    """Return the active provider of `IInteractionExtras`.

    This is looked up from the interaction.  If there is no interaction then
    return None.
    """
    interaction = queryInteraction()
    if interaction is None:
        return None
    return interaction.extras
开发者ID:pombreda,项目名称:UnnaturalCodeFork,代码行数:10,代码来源:interaction.py


示例19: getPrincipal

def getPrincipal():
    """ get current interaction principal """
    interaction = queryInteraction()

    if interaction is not None:
        for participation in interaction.participations:
            if participation.principal is not None:
                return participation.principal

    raise UnknownPrincipalException()
开发者ID:Zojax,项目名称:zojax.subscription,代码行数:10,代码来源:utils.py


示例20: principalLoggingOut

def principalLoggingOut(event):
    if IRPXNowPrincipalMarker.providedBy(event.principal):
        request = None
        interaction = queryInteraction()

        if interaction is not None:
            for participation in interaction.participations:
                request =  participation
        if request is not None:
            ISession(request)[SESSION_KEY]['token'] = None
开发者ID:Zojax,项目名称:zojax.principal.rpxnow,代码行数:10,代码来源:foundsubscriber.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python proxy.removeSecurityProxy函数代码示例发布时间:2022-05-26
下一篇:
Python management.newInteraction函数代码示例发布时间: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