I am using the dropbox API to upload files in chunk. But the following code gets stuck at uploader.upload_chunked(). What might be the reason?
Also, is there any way to know what is happening in the background like uploaded these many chunks, still uploading, time taken to receive the uploaded chunks and other information ? Can threads be used to upload these chunks,assuming that the API takes measure to assemble the chunks in correct order,or is it that we have to take care of ordered assembling ?
import dropbox
size = 941
access_token = 'xxx'
client = dropbox.client.DropboxClient(access_token)
to_upload_file = open('dummy.txt','r')
uploader = client.get_chunked_uploader(to_upload_file,size)
print 'uploading ', size
while uploader.offset < size :
try:
upload = uploader.upload_chunked(chunk_size=100)
print '100 bytes of chunk sent.'
except dropbox.rest.ErrorResponse,e:
print 'something went wrong'
uploader.finish('/dummy.txt')
Edit:
size = 941 -> The size of the file to upload
upload=uploader.upload_chunked(chunk_size=100) -> chunk_size changed from default to 100 bytes
print'100 bytes of chunk sent' -> print statement included
sizecome from? This snippet doesn't include its definition, so presumably itsNone, which seems invalid.sizeshould be the size of the file you're uploading. If it's not actually 1024 bytes, you might be in an infinite loop. (uploader.offsetmay always be less thansize) I'm not clear on whether the behavior you're seeing is an infinite loop. (If you added a print statement underuploader.upload_chunked(), would it be executed? How many times?)