On 5/18/06, Diego Manenti Martins <[EMAIL PROTECTED]> wrote:
> request = container.REQUEST
> RESPONSE =  request.RESPONSE
> try:
>     a = request.teste
> except:
>     a = 'teste'
>
> return a

Como eu disse antes, você não precisa acessar o request explicitamente
num script python dendro do Zope. Tudo o que você vez no script acima
se reduziria a uma linha de código se você colocar teste='teste' no
campo parameters do script. Então teríamos:

## parameters: teste='teste'
return teste

Este script faze a mesma coisa que o outro, só que aproveitando a
infra-estrutra do Zope (além disso, evite usar except sem especificar
qual a exceção que está tratando, pois isso pode mascarar e até gerar
bugs graves).

> recebo um erro pois teste não é um parâmetro de sA. Já resolvi o
> problema colocando como parâmetro em sA teste='' mas ainda gostaria de
> saber se tenho como passar o valor de teste sem usar parâmetros no
> script.

Você teria que manipular o request diretamente, mas no contexto que
você mencionou isso não faria nenhum sentido. Quando um script invoca
o outro é muito mais claro e eficiente você passar parâmetros
explícitamente, no estilo f(p) do que cutucar o request só para poder
fazer f(). É como se você desejasse abandonar o avanço que foi o
conceito de passagem de parâmetros para reverter à velha pratica de
usar variáveis globais como canais de comunicação, algo que eu era
obrigado a fazer quando programava em basic nos anos 80.

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


Links do Yahoo! Grupos

Responder a