Ô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
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!.
__,_._,___