Как по принципалу отловить контейнер в котором содержится Сайт менеджер?

0 views
Skip to first unread message

dem...@gmail.com

unread,
Aug 24, 2010, 8:39:45 AM8/24/10
to Russian Zope3 group
Собственно отлавливаю
zope.app.authentication.interfaces.IPrincipalCreated, хочу достать из
события принципала и проверить все-ли для принципала созданы ресурсы.
Но не пойму как получить сайт менеджер в котором хранится принципал и
собственно как получить контейнер в котором определен этот сайт
менеджер.

Это нужно чтобы потом этот контейнер и обследовать.

dem...@gmail.com

unread,
Aug 24, 2010, 9:04:09 AM8/24/10
to Russian Zope3 group
Нашел!
import zope.component
from zope.app.component import hooks
def AuthenticatedPrincipalCreated(event):
#print "Got event",event
principal = event.principal
print "got event",event,dir(event)
print "with principal",principal,dir(principal)
print "Context is",dir()
sm = zope.component.getSiteManager()
print "sm=",sm,dir(sm)
nearest_site = hooks.getSite()
sm2 = nearest_site.getSiteManager()
print "sm=sm2?",sm==sm2
Reply all
Reply to author
Forward
0 new messages