Darrell Bishop 9198e95468 Move multi-threading code to a library.
This patch extracts the multi-threading code from bin/swift into
swiftclient/multithreading and adds tests.  In particular, this new way
of doing it (with context managers) will prevent non-daemonic threads
from wedging the process when unexpected exceptions happen.

I enabled reporting of which lines, specifically, are not covered by
unit tests (added -m option to "coverage report" in .unittests).

This patch includes a drive-by fix for uploading a segmented file with
--use-slo when that object already exists.  A key of "name" was used
instead of "path", raising KeyError.

There's also another drive-by fix for uploading segmented objects with
--use-slo.  Commit 874e0e4427b80e1b15b74a1557b73ba9d61443ca regressed
this by removing the capturing of thread-worker results in
QueueFunctionThread.run().  This patch restores that functionality and
the feature (uploading SLO objects).

Change-Id: I0b4f677e4a734e83d1a25088d9a74f7d46384e53
2013-07-28 22:08:17 -07:00
2013-07-24 16:31:13 -04:00
2013-06-27 22:28:33 +08:00
2013-01-18 16:13:27 -05:00
2012-05-08 16:30:13 +01:00
2013-05-01 12:23:12 -04:00
2012-05-08 15:21:56 +01:00
2012-05-21 12:52:55 +02:00
2013-05-01 12:23:12 -04:00
2013-05-01 12:23:12 -04:00
2013-06-01 19:27:54 -05:00

Python bindings to the OpenStack Object Storage API

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. The master repository is on GitHub.

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%