Thanx Antony! I can't believe it was as simple as that...

On Oct 27, 5:50 pm, Anthony <abasta...@gmail.com> wrote:
> response.download expects the last arg in the url to be the filename, so
> you might be able to pass the image.id as the first arg:
>
> args=[image.id, image.file]
>
> Anthony
>
>
>
>
>
>
>
> On Thursday, October 27, 2011 11:39:22 AM UTC-4, thodoris wrote:
>
> > Hi,
>
> > I am wondering what is the best way to count how many times a file has
> > been downloaded. I have the following:
>
> > db.define_table('image',
> >    Field('file', 'upload'),
> >    Field('downloads','integer', default=0,readable=False,
> > writable=False))
>
> > I have a view that has the following:
>
> > {{=A("Download", _href=URL('download', args=image.file))}}
>
> > So when Download is clicked the file file will be downloaded.
>
> > The function that is called is:
>
> > def download():
> >     return response.download(request,db)
>
> > How can i increase the can increase the image.downloads each time a
> > file is downloaded.
>
> > I don't know how or if it is possible to pass the image.id in download
> > and increase the counter doing something like:
>
> > item = db.image[request.vars.id]
> > new_downloads = item.downloads + 1
> > item.update_record(downloads=new_downloads)
>
> > I tried passing more arguments to download like args=[image.file,
> > mage.id] but it fails. Any ideas????

Reply via email to