.aq_inner.aq_parent
Valeu, Sidnei! De posse da sua resposta, fui vasculhar o fonte do Zope, e achei esta pérola na definição da classe SimpleItem:
context = aq_parent(self)
container = aq_parent(aq_inner(self))
[O código está em Zope2.8.1-final/lib/python/OFS/SimpleItem.py, função __repr__, linhas 327-328]
É a mesma coisa que você disse, apenas escrito de outro jeito.
No topo do mesmo módulo, o import:
from Acquisition import aq_base, aq_parent, aq_inner, aq_acquire
O módulo Acquisition é implementado em C, o que para mim é tão convidativo quanto poesia Vogon.
Agora, vamos refletir novamente sobre a pergunta e a resposta... Como acessar o container onde está um objeto, independente do contexto? Resposta: acesse o aq_parent do aq_inner, ou seja, o contexto do aq_inner!!!
São coisas assim que explicam porque o Zope 3 é uma reescrita geral do Zope 2.
[ ]s
Luciano
Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
Yahoo! Grupos, um serviço oferecido por: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.