Make Cloudfiles copy memory efficient too (#419)
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Wed, 19 Dec 2012 14:59:44 +0000 (15:59 +0100)
committerJoar Wandborg <joar@wandborg.se>
Sat, 2 Mar 2013 22:44:54 +0000 (23:44 +0100)
commit8b35e7ad158f99bc7d3bb34774a6fde6d06bca67
treeedffa49c00c2c7bd815041fe0d9ad6f8fd8ac1cc
parent77c85224b139a123e7895588af51b6cd4ecaa2b9
Make Cloudfiles copy memory efficient too (#419)

It seems that (our implementation of) cloudfiles.write() takes
all existing data and appends write(data) to it, sending the
full monty over the wire everytime. This would of course
absolutely kill chunked writes with some O(1^n) performance
and bandwidth usage. So, override this method and use the
Cloudfile's "send" interface instead.

Also make the Cloudfile file wrapper an iterator that allows us to
simply do "for data in cloudfile:" which will stream the data in a
memory-efficient way.

DO NOTE THAT THIS PATCH IS COMPLETELY UNTESTED DUE TO LACK OF SETUP
PLEASE REVIEW AND VERIFY.
mediagoblin/storage/cloudfiles.py