Timur Alperovich f4a2b16c2c Properly handle unicode headers.
Fix unicode handling in Python 3 and Python 2. There are currently two
failure modes. In python 2, swiftclient fails to log in debug mode if
the account name has a non-ASCII character. This is because the account
name will appear in the storage URL, which we attempt to pass to the
logger as a byte string (whereas it should be a unicode string). This
patch changes the behavior to convert the path strings into unicode by
calling the parse_header_string() function.

The second failure mode is with Python 3, where http_lib returns headers
that are latin-1 encoded, but swiftclient expects UTF-8. The patch
automatically converts headers from latin-1 (iso-8859-1) to UTF-8, so
that we can properly handle non-ASCII headers in responses.

Change-Id: Ifa7f3d5af71bde8127129f1f8603772d80d063c1
2018-07-23 14:38:40 -07:00
2014-03-25 11:36:39 +00:00
2018-06-11 17:25:21 +01:00
2018-07-23 14:38:40 -07:00
2018-07-13 11:24:24 -07:00
2014-05-09 09:29:04 +02:00
2017-01-25 15:12:59 -08:00
2018-04-25 09:33:54 -04:00
2018-01-30 00:28:17 +00:00
2018-01-30 00:28:17 +00:00
2012-05-08 16:30:13 +01:00
2013-05-01 12:23:12 -04:00
2018-06-07 22:38:41 +08:00
2018-04-25 09:33:54 -04:00
2012-05-21 12:52:55 +02:00
2018-07-17 00:46:54 +00:00
2018-04-25 09:33:54 -04:00
2018-04-25 09:33:54 -04:00

Team and repository tags

image

Python bindings to the OpenStack Object Storage API

Latest Version

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 the original 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%