Pessoal,

escrevemos aqui um código em python para formatar o conteúdo de um arquivo em
uma combobox e testamos uma porrada de vezes num plone/zope rodando numa
máquina W2K... Funcionou que foi uma maravilha, só que na  hora de passar
para o servidor principal apareceram alguns problemas:

1º Por não termos acesso direto ao mesmo não tivemos como colocar o arquivo
python lá para poder chamar como External Method;

2º Não sabemos onde raios fica o diretório Data/Extensions do plone no Linux
e nosso admin não "achou" ele;

3º Tentamos chama-lo como sendo um script, mas ele recusa-se a funcionar e só
retorna uma combo em branco com a tag de abertura e fechamento da mesma;

4º Fica pedindo insistentemente para digitar o login e a senha...

segue em anexo o código do script:

import urllib

def geraCombo():
    # Variavel que concatena todo o conteudo gerado na funcao geraCombo para que
o mesmo seja liberado
    # de uma vez...

    conteudoCombo=""
    #gerando o comeco da caixa de selecao
    conteudoCombo= conteudoCombo + "<select name=\"opcoes\"
onchange=\"if(options[selectedIndex].value)
window.location.href=(options[selectedIndex].value)\"
style=\"font-family:'Trebuchet MS',Arial; font-size: 10px; color: #0066CC\">\n"
    conteudoCombo= conteudoCombo + "<option value=\"javascript:;\">- Governo a
um clique -</option>\n"

    #lendo o conteudo de uma url para extrair os dados para geracao da combo
    arquivo = urllib.urlopen("http://localhost:8080/links";)

    # pegando a linha inicial do arquivo...
    linha = arquivo.readline()

    # Looping que faz o teste para ver se o arquivo chegou ao fim...
    while linha != '' :

       # Apenas para efeito de melhor visualizacao e legibilidade do codigo
foram criadas as variaveis seguintes
       sigla = linha.upper().split("|")[0]
       endereco = linha.lower().split("|")[2]

       # Faz a selecao dos links que possuem url para a geracao do option
       if linha == "#":
          conteudoCombo= conteudoCombo + "<option value=\"%s\">%s</option>\n" %
(endereco,sigla)
       else:
          conteudoCombo= conteudoCombo + "<option
value=\"javascript:nova_jan('%s');\">%s</option>\n" % (endereco,sigla)

       # Le a proxima linha do arquivo...
       linha = arquivo.readline()

       # Fecha o arquivo apos sua utilizacao...
       arquivo.close()

       # Fecha o select do HTML aberto anteriormente...
       conteudoCombo= conteudoCombo + "</select>\n"

       # Retorna o conteudo obtido pela funcao para que a chamou...
       return conteudoCombo

print geraCombo()

return printed

A chamada do código está sendo feita atualmente da seguinte maneira:
<div tal:replace="structure python:here.governo()"></div>

-- 
Grato desde já
Giovanni de A. Calheiros
Participante da equipe de desenvolvimento
Departamento de Tecnologia da Informação - DTI
Instituto de Tecnologia em Informática e Informação do Estado de
Alagoas-ITEC/AL



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

 


Responder a