Mis saludos:

Bueno mi codigo es el siguente:

def cdr():
    import time
    import csv
    import os
    desde=time.time()
    hoy=time.time()
    desde=time.strftime('%Y-%m-%d 00:00:00',time.localtime(desde))
    hasta=time.strftime('%Y-%m-%d 23:59:59',time.localtime(hoy))
    accountcode=db.executesql("SELECT id_accountcode FROM accountcodes order
by id_accountcode")
    account=[]
    a=db.llamadas_moviles#.with_alias('a')
    for ac in accountcode:
        account.append(ac[0])
    form=FORM(TABLE(TR("Desde ( Año-mes-día
):",INPUT(_type="datetime",_name="desde",_value=desde,_class='datetime',_id="datetlimite",
requires=IS_DATETIME())),
                    TR("Hasta ( Año-mes-día etlimite1",
requires=IS_DATETIME())),):",INPUT(_type="datetime",_name="hasta",_value=hasta,_class='datetime',_id="dat

TR("Clientes",SELECT(account,_name="account",requires=IS_IN_SET(account))),
                    TR("",INPUT(_type="submit",_value="Consultar"))
                    ))
    rows=''
    rows1=''
    min=0
    cia=''
    if form.accepts(request.vars,session) or request.vars.click=='True':
        query=((a.call_dialstatus=='ANSWER') &
(a.id_accountcode==request.vars.account) & (a.call_inicio >=
request.vars.desde) & (a.call_inicio <= request.vars.hasta))
        rows=db(query).select(a.call_inicio,
a.call_timedura,a.call_duracion,a.call_dialstatus, a.call_num_destino,
orderby=a.call_inicio)
        rows1 = db(query).select(a.call_duracion.sum())
        minu=rows1[0]._extra[a.call_duracion.sum()]
        min=(int(minu))/60
        cia=db.executesql("SELECT llamadas_moviles.call_telco_destino,
telcos.nombre_telco, sum(call_duracion) / 60 as Tot_minutos FROM
llamadas_moviles join telcos on llamadas_moviles.call_telco_destino =
telcos.id_telco WHERE call_inicio >= '%s' and call_inicio <= '%s' and
id_accountcode='%s' GROUP BY llamadas_moviles.call_telco_destino,
telcos.nombre_telco;"%(request.vars.desde,request.vars.hasta,request.vars.account))

        #open('/tmp/tmp.csv','w').write(str(rows))
        if request.vars.click == 'True':
          import cStringIO
          import gzip
          s=cStringIO.StringIO()
          response.headers['Content-Type']='application/csv'
          response.headers['Content-Disposition'] = 'attachment;
filename=CDR%s_%s.csv'%(request.vars.account,request.vars.hasta)
          rows.export_to_csv_file(s)
          return s.getvalue()

    return dict(form=form, rows=rows, min=min, cia=cia)

Lo que necesito hacer es crear una funcion donde me genere un archivo csv a
partir de rows, o sea pasar a esa funcion el rows, hasta ahi estoy bien,
despues poder descargar ese archivo generado a mi computador o al computador
de donde se conecte, eso no lo se, la idea que tengo es crear otro from que
se puede llamar form1 que sea solo un boton para descargar, ahora mi
pregunta, como le paso el rows del form al form1?

Ojala me puedan ayudar

el codigo anterior funciona pero no es como lo deseo hacer.

-- 
Atte.
Marcelo Martinez P.
Boomerang ip.
Chillan
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a