On 03/15/2012 02:35 PM, ciccio2000 wrote:
* giovedì 15 marzo 2012, alle 13:07, Simone Orsi scrive:
Ciao,
[...]
come restituisci il contenuto del file? Quel "return iterator" dove sta?
Se restituisci il contenuto del file nel __call__ della view ti deve
per forza mostrare il contenuto del file.
Tipo:
def __call__(self):
return self.get_file_content()
E' in un metodo della view:
class View(grok.View):
grok.context(IMapViewer)
grok.require('zope2.View')
...
def downloadData(self):
...
zfname = "/tmp/%s-%s-%s.zip" % (st, et, model)
...
iterator = filestream_iterator(zfname, 'rb')
RESPONSE.setHeader...
return iterator
come ho detto il file non e' un oggetto plone,
ma viene generato su file system dinamicamente
a seconda di come viene riempito un form
(che si trova nella view).
ciao e grazie.
non importa da dove arriva il contenuto, importa come lo restituisci ;)
Non so come vuoi che funzioni il tutto ma una possibile soluzione e'
quella che ti ho detto prima, farlo ritornare al __call__.
Magari puoi mettere un pulsante di submit per il download che richiami
la stessa vista e nel __call__ fai qualcosa del genere:
def __call__(self):
if self.request.get('download'):
return self.downloadData()
return super(self.__class__,self).__call__()
_______________________________________________
Plone-IT mailing list
plone...@lists.plone.org
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html