Rodrigo em alguns casos a sintaxe de dicionario funciona também:

contexto= portal['how-to']


2006/5/10, Dirceu Pereira Tiegs <[EMAIL PROTECTED] >:
Olá Rodrigo,

Não sei se entendi bem o problema, mas acho que você deveria substituir a linha:

contexto = 'portal.how-to' # str

por

contexto = getattr(portal, 'how-to') # portal_url.getPortalObject().how-to

Abraço,

2006/5/10, Rodrigo Castardo < [EMAIL PROTECTED]>:
> Pessoal,
>
> tou implementando uma coisa por aqui, e pintou uma duvida. Pesquisando
> sobre o meu problema encontrei o seguinte
>
> http://plone.org/documentation/how-to/manipulating-plone-objects-programmatically/
>
> <code>
> from Products.CMFCore.utils import getToolByName
>
> # you know some object which is refered as "context"
> portal_url = getToolByName(context, "portal_url")
> portal = portal_url.getPortalObject()
>
> # you have obtain plone.org portal root object somehow and it's
> # stored in local variable "portal"
> documentation = portal.documentation
> howTos = getattr(portal, "how-to") # note that we need use getattr
> because dash is invalid in syntax
> myHowTo = getattr(howTos, "manipulating-plone-objects-programmatically")
> </code>
>
> ate' aqui nao tem segredo, o meu problema e' o seguinte, preciso fazer
> quase a mesma coisa o que o codigo acima faz, porem [e e' aqui que
> comeca minha duvida] com argumentos dinamicos como abaixo
>
> <mycode>
> from Products.CMFCore.utils import getToolByName
>
> # you know some object which is refered as "context"
> portal_url = getToolByName(context, "portal_url")
> portal = portal_url.getPortalObject()
>
> contexto = 'portal.how-to'
> objeto = 'manipulating-plone-objects-programmatically'
>
> MyHowTo = getattr(contexto,objeto)
> </mycode>
>
> isso roda dentro de um loop, estou importando pastas do file system
> pra dentro do Plone, tenho uma classe com um metodo que lista
> recursivamente o conteudo de uma determinada pasta no file system, no
> loop que le o conteudo da tal pasta eu passo o path do parent, o nome
> da pasta e o nome do objeto a ser criado para o trecho de codigo
> acima.
>
> Problema: a variavel contexto e' interpretada como string [claro, pois
> e' uma string :-)] e me retorna o erro:
>
> 'str' object has no attribute 'teste'
> #teste = valor da variavel/nome da pasta
>
> como fazer pra q ela seja interpretada como path sem ter q quebrar
> todo o path pra fazer conforme o primeiro trecho de codigo q citei no
> comeco do e-mail ?
>
> /me pensa q tem um jeito de passar o path inteiro e espera nao estar errado :-)
>
> Se alguem puder me dar um help, Valeu !!!
>
> []'s!
>
> --
> RodrigoCastardo
> [EMAIL PROTECTED]
> MSN - [EMAIL PROTECTED]
> http://rodrigocastardo.objectis.net/
>
>
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


--
Dirceu Pereira Tiegs
http://dirceu.info/


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
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:
    http://br.yahoo.com/info/utos.html







--
Att,
Wilton Souza Alencar
www.tom.pro.br


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:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a