Go to file
Tim Burke 39b1a31d8a Wrap raw iterators to ensure we send entire contents to server
Currently, if you attempt to stream an upload from an iterator, as in

    def data():
        yield 'foo'
        yield ''
        yield 'bar'
    conn.put_object('c', 'o', data())

... requests will faithfully emit a zero-length chunk, ending the
transfer. Swift will then close the connection, possibly (if Connection:
keep-alive was set) after attempting to parse the next chunk as a new
request.

Now, Swift will receive all of the bytes from the iterable, and any
zero-byte chunks will be ignored.

This will be fixed in requests [1], but not until an eventual 3.0.0
release.

[1] https://github.com/kennethreitz/requests/pull/2631

Change-Id: I19579ed7a0181ac3f488433e7c1839f7f7a040b8
2015-12-30 11:56:36 -08:00
2014-03-25 11:36:39 +00:00
2014-05-09 09:29:04 +02:00
2015-12-07 14:55:30 -08:00
2012-05-08 16:30:13 +01:00
2013-05-01 12:23:12 -04:00
2015-11-19 16:26:14 +08:00
2015-05-20 18:14:53 -07:00
2012-05-21 12:52:55 +02:00
2015-12-10 20:29:16 +00:00
2013-09-13 11:02:05 -05:00

Python bindings to the OpenStack Object Storage API

Latest Version

Downloads

This is a python client for the Swift API. There's a Python API (the swiftclient module), and a command-line script (swift).

Development takes place via the usual OpenStack processes as outlined in the OpenStack wiki.

This code is based on original the client previously included with OpenStack's Swift The python-swiftclient is licensed under the Apache License like the rest of OpenStack.

Contents:

Description
OpenStack Storage (Swift) Client
Readme 14 MiB
Languages
Python 99.9%
Shell 0.1%