Here is my solution, idk if this is corrent or not:

class CustomExporter(ExportClass):
    label = ''
    file_ext = ''
    content_type = ''
    file_name = ''

    def __init__(self, rows):
        super(CustomExporter, self).__init__(rows)
        request = current.request
        request.vars._export_filename = self.file_name or request.function

class ExporterPDF(CustomExporter):
    label = 'PDF'
    file_ext = "pdf"
    content_type = "application/pdf"

    def __init__(self, rows):
        super(ExporterPDF, self).__init__(rows)

    def export(self):
        request = current.request
        response = current.response
        pdf = MyFPDF()
        pdf.add_page()
        pdf.add_font('dejavu','', 
'/agis/static/fonts/DejaVuSansCondensed.ttf')
        pdf.add_font('dejavu','B', 
'/agis/static/fonts/DejaVuSansCondensed-Bold.ttf')
        pdf.set_font('dejavu', '', 12)
        filename = '%s/%s.pdf' % (request.controller,request.function)
        if os.path.exists(os.path.join(request.folder,'views',filename)):
            html=response.render(filename, dict(rows=self.rows))
        else:
            html=BODY(BEAUTIFY(response._vars)).xml()
        pass
        pdf.write_html(html)
        return XML(pdf.output(dest='S'))

In this case is my own recipie for generic PDF exporting, using 
view_file.pdf as a template and request.function as the default filename 
for the exported file name.

El lunes, 10 de agosto de 2015, 14:49:23 (UTC-4), Yoel Benitez Fonseca 
escribió:
>
> In sqlhtml.py:
>
> class ExportClass(object):
>     label = None
>     file_ext = None
>     content_type = None
>
>     def __init__(self, rows):
>         self.rows = rows
> ...
>
> Is there a way to suggest a filename to the client ?
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to