diff options
author | Tim Burke <tim.burke@gmail.com> | 2018-01-26 14:14:18 -0800 |
---|---|---|
committer | Tim Burke <tim.burke@gmail.com> | 2018-01-26 14:14:18 -0800 |
commit | 2901e1e9ef1932b0b3874e608422bbfdfbd1448a (patch) | |
tree | df753c93d6e57daefd26a08d40be0450e562963e | |
parent | 2faea932870956583f83226886d33304ee1eee46 (diff) | |
download | python-swiftclient-2901e1e9ef1932b0b3874e608422bbfdfbd1448a.tar.gz |
Treat 404 as success when deleting segments
Change-Id: I76be70ddb289bd4f1054a684a247279ab16ca34a
-rw-r--r-- | swiftclient/service.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/swiftclient/service.py b/swiftclient/service.py index ed5e9e9..607c1ae 100644 --- a/swiftclient/service.py +++ b/swiftclient/service.py @@ -2471,17 +2471,18 @@ class SwiftService(object): def _delete_segment(conn, container, obj, results_queue=None): results_dict = {} try: - conn.delete_object(container, obj, response_dict=results_dict) res = {'success': True} + conn.delete_object(container, obj, response_dict=results_dict) except Exception as err: - traceback, err_time = report_traceback() - logger.exception(err) - res = { - 'success': False, - 'error': err, - 'traceback': traceback, - 'error_timestamp': err_time - } + if not isinstance(err, ClientException) or err.http_status != 404: + traceback, err_time = report_traceback() + logger.exception(err) + res = { + 'success': False, + 'error': err, + 'traceback': traceback, + 'error_timestamp': err_time + } res.update({ 'action': 'delete_segment', |