Boas Fernando!

Já vi que depois de termos falado no IRC não entendeste a minha sugestão :P

Talvez seja melhor alterares a forma como estás a fazer isso.

Em primeiro lugar, alterar o action do form para ser o zpt em vez de 
chamares o script.

Depois esse zpt chamará o script e passará os argumentos necessários.

No pyscript em vez de colocares request.get() podes definir o dataI e 
dataF na Parameter List

Algo do género:

  <table border="1" tal:define="dataI request/dataI|string:;
                                                        dataF 
request/dataF|string:;
                                                        results 
python:context/pyscript(dataI=dataI, dataF=dataF)">
      <tr>
         <form name="form" method="post" tal:attributes="action
  string:${context/template/absolute_url}">
             <td style="white-space:nowrap;" class="td">Data Inicial:
   <input type="text" name="dataI"
  onkeypress="FormataData('dataI',event);" maxlength="10" size="10"
  style="font-size:7pt;"></td>
             <td style="white-space:nowrap;" class="td">Data Final:
  <input type="text" name="dataF"
  onkeypress="FormataData('dataF',event);" maxlength="10" size="10"
  style="font-size:7pt;"></td>
              <td style="white-space:nowrap;" class="td"><input
  type="submit" value="Processar" name=""></td>
         </form>
      </tr>

  <metal:block tal:condition="results">
  (...)
  </metal:block>
  </table>
  </body>


abraço
Nuno

Fernando Paiva wrote:
> Opa Zé.
>
> Sim, é ele msm.
>
> []'s
> Fernando Paiva
>
>
>
> José Henrique escreveu:
> > Esse script que você quer executar não é o que está definido no action
> > de seu form?
> >
> > Zénrique.
> >
> > Em 11/10/06, pythondeveloper<[EMAIL PROTECTED]> escreveu:
> > > Salve galera.
> > >
> > > Eu tenho um zpt que imprimo em uma <table> os resultados retornados de
> > > um script python onde todo o sql se baseia em datas. Preciso fazer com
> > > que ao renderizar o zpt ele ja me traga essas informacoes.
> > > Estou tentando fazer assim:
> > >
> > > #Zpt
> > > <table border="1" tal:define="fp_sql options/parametro | nothing">
> > >     <tr>
> > >        <form name="form" method="post" tal:attributes="action
> > > string:${context/consulta_pluviometria_py/absolute_url}">
> > >            <td style="white-space:nowrap;" class="td">Data Inicial:
> > > <input type="text" name="dataI"
> > > onkeypress="FormataData('dataI',event);" maxlength="10" size="10"
> > > style="font-size:7pt;"></td>
> > >            <td style="white-space:nowrap;" class="td">Data Final:
> > > <input type="text" name="dataF"
> > > onkeypress="FormataData('dataF',event);" maxlength="10" size="10"
> > > style="font-size:7pt;"></td>
> > >            <td style="white-space:nowrap;" class="td"><input
> > > type="submit" value="Processar" name=""></td>
> > >        </form>
> > >     </tr>
> > > <metal:block tal:condition="fp_sql" tal:repeat="items fp_sql">
> > >     <tr>
> > >        <td class="td" tal:define="data items/data;"
> > > tal:content="python:context.ZopeTime(data).strftime('%d/%m/%Y')"/>
> > >        <td class="td" tal:content="items/empresa1"/>
> > >        <td class="td" tal:content="items/empresa2"/>
> > >        <td class="td" tal:content="items/empresa3"/>
> > >        <td class="td" tal:content="items/empresa4"/>
> > >        <td class="td" tal:content="items/empresa5"/>
> > >        <td class="td" tal:content="items/empresa6"/>
> > >        <td class="td" tal:content="items/empresa8"/>
> > >        <td class="td" tal:content="items/empresa9"/>
> > >        <td class="td" tal:content="items/empresa10"/>
> > >        <td class="td" tal:content="items/empresa11"/>
> > >     </tr>
> > > </metal:block>
> > > </table>
> > > </body>
> > >
> > > #PY
> > > data_inicial = request.get('dataI',"")
> > > data_final = request.get('dataF',"")
> > >
> > > if data_inicial == "" and data_final == "":
> > >     data_zope = context.ZopeTime().strftime('%Y/%m/%d')
> > >     data_inicial = DateTime(data_zope) - 15
> > >     result =
> > > context.zsql_select_pluviometria(dataI=data_inicial,dataF=data_zope)
> > > else:
> > >     dataI = data_inicial.split("/")
> > >     dataF = data_final.split("/")
> > >     data_I = dataI[2]+"/"+dataI[1]+"/"+dataI[0]
> > >     data_F = dataF[2]+"/"+dataF[1]+"/"+dataF[0]
> > >     result = 
> context.zsql_select_pluviometria(dataI=data_I,dataF=data_F)
> > > return context.pluviometria(parametro=result)
> > >
> > > Ou seja, a primeira vez em que o zpt for renderizado ele devera
> > > processar o pyscript com as datas vazias trazendo as informacoes.
> > > Depois de renderizado ira bastar o usuario informar a datainicial e a
> > > final para processar novamente e trazer as datas referentes a data que
> > > o usuário informou.
> > >
> > > Tentei colocar a execucao do pyscript no <body>, tentei assim:
> > > <body tal:define="py_script python:context.pyscript();">.
> > > Mas não tive sucesso.
> > >
> > > Alguma sugestão ?
> > >
> > > []'s
> > > Fernando Paiva
> > >
> > >
> > >
> > >
> > >
> > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > > Para desistir envie uma mensagem em branco para:
> > [EMAIL PROTECTED]
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > >
> > 
>
>  



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