I have a pre-existing file, static/x/y.mp3, that I want to copy to an
upload record.
# model
db.define_table('audio',
Field('name','upload',length=50,label=T('Upload
file'),autodelete=True,
uploadfolder=os.path.join(request.folder,'static/audio'),
uploadseparate=True,
requires=IS_UPLOAD_FILENAME(extension='mp3'),
)
)
I want to use shutil.copyfileobj to do the copying since the audio
file is very large. What would the syntax be to insert a new record
into the audio table using shutil.copyfileobj? In particular, I don't
understand what the destination file should be?
p.s.
I had tried using cStringIO, but that didn't work -- the stored file
was empty:
infile=os.path.join(request.folder,'static/x/y.mp3')
stream=cStringIO.StringIO()
stream.write(open(infile,'rb').read())
db.audio.insert(
book=row.queue.book,
name=db.audio.name.store(stream,'dummy.mp3')
)
Anyway, cStringIO is not the way to go. The file to be copied is too
large.
Thanks.