On 26 Oct 2012, at 6:40 AM, Jonathan Lundell <jlund...@pobox.com> wrote:
> On 26 Oct 2012, at 2:46 AM, Niphlod <niph...@gmail.com> wrote:
>> do you serve a StringIO instance ? for 2. you may try 
>> response.stream(yourcsvinstance, filename='foo.csv', attachment=True)
> 
> I don't; I'm just returning a list of tuples to the Service wrapper 
> (eventually I'd make it a generator, was my plan).

Here's what worked for me, for the record. In my @service.csv handler, I added 
this line:

    response.headers["Content-Disposition"] = "attachment;filename=%s" % 
'foo.csv'



> 
>> 
>> 
>> On Friday, October 26, 2012 1:13:17 AM UTC+2, Jonathan Lundell wrote:
>> I want to build a dataset (list of lists) in response to a user request and 
>> cause a csv of that dataset to be downloaded. 
>> 
>> I have a working but ugly implementation that uses @service.csv. If I access 
>> the URL 
>> 
>> http://domain.com/app/default/call/csv/foo 
>> 
>> ...it works OK and downloads a file named 'foo'. 
>> 
>> A couple of questions. 
>> 
>> 1. Is there a better way (considering that this is a user request, not 
>> really a web service per se)? 
>> 
>> 2. How do I make the downloaded file, above, be named foo.csv? Maybe set 
>> request.extension? (I tried call.csv in the URL, which still downloaded 
>> 'foo'.) 
>> 
>> 3. Can I combine @auth.requires_something with @service.csv? 
>> 
>> Thanks!
>> 


-- 



Reply via email to