Ôpa, Jackson ...

Se vc mandar uma string e tratá-la como uma lista (fazendo um loop nela, por exemplo), ela vai ser tratada como uma lista de caracteres.
O lance de não conseguir mandar pelo "test" é um bug dele. Ele manda tudo o q vc passar lá como string. Se alguém souber como contornar isso, a ajuda é muito bem-vinda! ... ;-)
Outra coisa é q vc ñ tá retornando algo como ['jackson', 'luiz', 'de', 'marco'] mas uma lista c/ apenas 2 ítens string, como ['(jackson, luiz, de, marco)', '(português, grego, klingon)']. Estou imaginando q vc trata isso onde foi chamado esse script, antes de chamar o ZSQLMethod, p/ o qual vc passa parâmetros separados (listas separadas).
Bom, sugestão rápida: tire os parêntesis do início e do fim das strings montadas nos loops (ficando elas como 'jackson, luiz, de, marco') e, qdo recuperá-las no ZSQLMethod, chame expr="var.split()" no lugar do nome da variável que tem a lista (que chamei de var). Ex.: select * from tabela where campo in <dtml-sqlvar expr="var.split()" type="string">.
Existe jeito mais simples (e tvz mais fácil) de implementar isso mas esse é o jeito que te faz mexer menos no q vc já tem.

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

Em 02/06/06, Jackson <[EMAIL PROTECTED]> escreveu:
Opa sô eu dnovo ...

Outro probleminha de iniciante

como faço para passar uma lista como parâmetro para um script python?
tentei lá no test, mas não consegui passei de tudo quanto é jeito, mas
naum funcionou como eu queria...

o objetivo é o seguinte ... gerar uma lista para passar num zsql para
fazer a cláusula in do SQL

tipo passo ['jackson', 'luiz', 'de', 'marco'] e ele não faz ('jackson',
'luiz', 'de', 'marco') ele faz letra a letra

vou postar o código aqui ( não liguem para a falta de estilo, novato na
área)

Usuario = container.LoggedUser()

#pesquisa nas tabelas as preferências do usuários, retornando uma lista
Autores = container.cPrefAutores(Usuario)
Idiomas = container.cPrefIdiomas(Usuario)
#fica fora até resolver os de cima
#Generos = container.cPrefGeneros(Usuario)
#Literaturas = container.cPrefLiteraturas(Usuario)

#cria uma lista
retorno = []

#se a lista não tiver vazia
if Autores:
   #cria o parâmetro do in SQL
   lstAutores = '('
   for i in range(len(Autores)):
       lstAutores = lstAutores + Autores[i] + ', '
   lstAutores = lstAutores[0:len(Autores[i]) - 2] + ')'

if Idiomas:
   #cria o parâmetro do in SQL
   lstIdiomas = '('
   for i in range(len(Idiomas)):
       lstIdiomas = lstIdiomas + Idiomas[i] + ', '
   lstIdiomas = lstIdiomas[0:len(Idiomas[i]) - 2] + ')'

#adiciona as strings em uma lista
retorno.append(lstAutores)
retorno.append(lstIdiomas)

#retorna a lista para ser processada pelo zSQL method
return retorno
__._,_.___

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