diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-12-10 00:19:00 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-12-10 00:19:00 +0000 |
commit | 1f3ab4b41a9448b350301e0483ce26d21e60744b (patch) | |
tree | 820806ce9981888f387a852e7b1dcee8124fd71f /swiftclient/client.py | |
parent | b0f794800ce3545d2295caf79cb2d9badd4676dc (diff) | |
parent | dbdbaa0321a709d67464ce777139af910f8b57af (diff) | |
download | python-swiftclient-1f3ab4b41a9448b350301e0483ce26d21e60744b.tar.gz |
Merge "Skip sniffing and reseting if retry is disabled"
Diffstat (limited to 'swiftclient/client.py')
-rw-r--r-- | swiftclient/client.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/swiftclient/client.py b/swiftclient/client.py index 8dbbaee..dbef2cc 100644 --- a/swiftclient/client.py +++ b/swiftclient/client.py @@ -1227,18 +1227,17 @@ class Connection(object): 'ability to reset contents for reupload.' % (container, obj)) - if isinstance(contents, str): - # if its a str then you can retry as much as you want + if isinstance(contents, str) or not contents: + # if its a str or None then you can retry as much as you want reset_func = None else: reset_func = _default_reset - tell = getattr(contents, 'tell', None) - seek = getattr(contents, 'seek', None) - if tell and seek: - orig_pos = tell() - reset_func = lambda *a, **k: seek(orig_pos) - elif not contents: - reset_func = lambda *a, **k: None + if self.retries > 0: + tell = getattr(contents, 'tell', None) + seek = getattr(contents, 'seek', None) + if tell and seek: + orig_pos = tell() + reset_func = lambda *a, **k: seek(orig_pos) return self._retry(reset_func, put_object, container, obj, contents, content_length=content_length, etag=etag, |