[Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Diego Manenti Martins



agora queria passar argumentos para um script através da querry string
a partir de outro script sem usar parametros.

por exemplo:

tenho dois scripts sA e sB, sA sem parâmetros e sB com um parametro param.
Por meio de um link em uma página eu consigo passar um argumento erro
para o script sB assim: sB?erro=Erro. Preciso passar este argumento de
sA que vai retornar uma página gerada por sB com erro=Erro.
Compliquei?

Obrigado,

[]'s

-- 
Diego Manenti Martins
[EMAIL PROTECTED]
+55 48 8421-1025






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

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!.











Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Luciano Ramalho



O script sB deve ter um parâmetro chamado 'erro' declarado no campo
parameters, certo?

Então neste caso basta que o script sA invoque-o normalmente, com uma
linha assim:

pagina = container.sB(erro='Você não tomou banho hoje.')

ou simplesmente:

pagina = container.sB('Você não tomou banho hoje.')

Se não existirem outros parâmetros declarados em sB.

[ ]s
Luciano


On 5/18/06, Diego Manenti Martins [EMAIL PROTECTED] wrote:
 agora queria passar argumentos para um script através da querry string
 a partir de outro script sem usar parametros.

 por exemplo:

 tenho dois scripts sA e sB, sA sem parâmetros e sB com um parametro param.
 Por meio de um link em uma página eu consigo passar um argumento erro
 para o script sB assim: sB?erro=Erro. Preciso passar este argumento de
 sA que vai retornar uma página gerada por sB com erro=Erro.
 Compliquei?






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

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!.












Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Diego Manenti Martins



On 5/18/06, Luciano Ramalho [EMAIL PROTECTED] wrote:
 O script sB deve ter um parâmetro chamado 'erro' declarado no campo
 parameters, certo?
não, esse parâmetro seria passado pelo request.


 Então neste caso basta que o script sA invoque-o normalmente, com uma
 linha assim:

 pagina = container.sB(erro='Você não tomou banho hoje.')

 ou simplesmente:

 pagina = container.sB('Você não tomou banho hoje.')

Assim eu já consigo fazer..

 Se não existirem outros parâmetros declarados em sB.

 [ ]s
 Luciano


 On 5/18/06, Diego Manenti Martins [EMAIL PROTECTED] wrote:
  agora queria passar argumentos para um script através da querry string
  a partir de outro script sem usar parametros.
 
  por exemplo:
 
  tenho dois scripts sA e sB, sA sem parâmetros e sB com um parametro param.
  Por meio de um link em uma página eu consigo passar um argumento erro
  para o script sB assim: sB?erro=Erro. Preciso passar este argumento de
  sA que vai retornar uma página gerada por sB com erro=Erro.
  Compliquei?


 Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
 Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos










[]'s
-- 
Diego Manenti Martins
[EMAIL PROTECTED]
+55 48 8421-1025






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

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!.











Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico JJ (Arnaldo Janz Júnior)



Peraí,A impressão é q parece q vc ñ conseguiu definir mto bem o q quer ...Vê se isso ajuda:Se o link será p/ sB c/ o parâmetro, p/ q vc precisa d sA?Se é sA q chamará sB, então o link ñ deve ser p/ sA?
Se for mesmo isso (pelo menos, foi o q vc disse), então a forma é como o Luciano sugeriu. Faça o link p/ sA e, nele, chame sB c/ o parâmetro.2006/5/18, Diego Manenti Martins 
[EMAIL PROTECTED]:



On 5/18/06, Luciano Ramalho [EMAIL PROTECTED] wrote:
 O script sB deve ter um parâmetro chamado 'erro' declarado no campo
 parameters, certo?
não, esse parâmetro seria passado pelo request.


 Então neste caso basta que o script sA invoque-o normalmente, com uma
 linha assim:

 pagina = container.sB(erro='Você não tomou banho hoje.')

 ou simplesmente:

 pagina = container.sB('Você não tomou banho hoje.')

Assim eu já consigo fazer..

 Se não existirem outros parâmetros declarados em sB.

 [ ]s
 Luciano


 On 5/18/06, Diego Manenti Martins [EMAIL PROTECTED] wrote:
  agora queria passar argumentos para um script através da querry string
  a partir de outro script sem usar parametros.
 
  por exemplo:
 
  tenho dois scripts sA e sB, sA sem parâmetros e sB com um parametro param.
  Por meio de um link em uma página eu consigo passar um argumento erro
  para o script sB assim: sB?erro=Erro. Preciso passar este argumento de
  sA que vai retornar uma página gerada por sB com erro=Erro.
  Compliquei?


 Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
 Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]

 Links do Yahoo! Grupos










[]'s
-- 
Diego Manenti Martins
[EMAIL PROTECTED]
+55 48 8421-1025






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

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!.









-- JJ (|´:¬{)»-Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e todo o que vive e crê em mim não morrerá, eternamente. Crês isto?
O Senhor, Jesus Cristo - Jo.11:25-26-






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

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!.









Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Diego Manenti Martins



Vou tentar explicar melhor.
tenho este script sem parametros (sA):

request = container.REQUEST
RESPONSE = request.RESPONSE
try:
 a = request.teste
except:
 a = 'teste'

return a

quando eu tenho um link assim:
a href="">

o script retorna 123

porém quero passar esse teste=123 através do script sB, mas quando eu faço

return sA(teste='123')

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.

Abraços,

On 5/18/06, Luciano Ramalho [EMAIL PROTECTED] wrote:
 On 5/18/06, Diego Manenti Martins [EMAIL PROTECTED] wrote:
  não, esse parâmetro seria passado pelo request.

 Diego, me parece que você está programando o Zope como se fosse ASP.

 Um script python não necessita acessar explicitamente o objeto REQUEST
 para ter acesso a uma variável passada via GET ou POST. Basta escrever
 o nome da variável no campo parameters que o Zope cuida de extrair a
 variável do request para você, passando-a como um parâmetro para o seu
 script. Deste modo, fica indiferente para a sua função receber
 parâmetros via request ou por invocação direta a partir de outra
 função.

 Experimente!

 [ ]s
 Luciano


 Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
 Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos











-- 
Diego Manenti Martins
[EMAIL PROTECTED]
+55 48 8421-1025






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

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!.












Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Luciano Ramalho



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

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!.












Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Luciano Ramalho



On 5/18/06, Luciano Ramalho [EMAIL PROTECTED] wrote:
 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

Corrigindo, o script de uma linha FAZ MAIS que o outro, porque ele
aceita um parâmetro opcional passado pelo request E TAMBÉM por uma
invocação direta do tipo:

sB('banana')

ou ainda

sB(teste='banana')

ou até

sB() # usando o valor default do parametro


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

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!.












Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Diego Manenti Martins



Tudo bem...
Obrigado pelas dicas..
é que fica dificil pensar em alto nível, apesar de estar adorando
python zope e plone, ainda estou num paradigma onde programava em
assembly e um pouco de c, para microcontroladores é claro. Com o tempo
me acostumo.
Abraços.

On 5/18/06, Luciano Ramalho [EMAIL PROTECTED] wrote:
 On 5/18/06, Luciano Ramalho [EMAIL PROTECTED] wrote:
  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

 Corrigindo, o script de uma linha FAZ MAIS que o outro, porque ele
 aceita um parâmetro opcional passado pelo request E TAMBÉM por uma
 invocação direta do tipo:

 sB('banana')

 ou ainda

 sB(teste='banana')

 ou até

 sB() # usando o valor default do parametro


 [ ]s
 Luciano


 Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
 Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos











-- 
Diego Manenti Martins
[EMAIL PROTECTED]
+55 48 8421-1025






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

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!.












Re: [Zope-pt] Ainda passagem de argumentos...

2006-05-18 Por tôpico Luciano Ramalho



On 5/18/06, Diego Manenti Martins [EMAIL PROTECTED] wrote:
 Tudo bem...
 Obrigado pelas dicas..
 é que fica dificil pensar em alto nível, apesar de estar adorando
 python zope e plone, ainda estou num paradigma onde programava em
 assembly e um pouco de c, para microcontroladores é claro. Com o tempo
 me acostumo.

Certo, entendo bem o que você quer dizer. Eu comecei programando
calculadoras TI e HP, usando linguagens bem parecidas com assembly.
Depois brinquei um pouco com assembly no Z80 e 8088. No assembly todas
as variáveis são globais!

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

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!.