本文整理汇总了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;未经允许,请勿转载。 |
请发表评论