diff options
Diffstat (limited to 'examples/delete.py')
-rw-r--r-- | examples/delete.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/delete.py b/examples/delete.py new file mode 100644 index 0000000..6979d9e --- /dev/null +++ b/examples/delete.py @@ -0,0 +1,34 @@ +import logging + +from swiftclient.service import SwiftService +from sys import argv + + +logging.basicConfig(level=logging.ERROR) +logging.getLogger("requests").setLevel(logging.CRITICAL) +logging.getLogger("swiftclient").setLevel(logging.CRITICAL) +logger = logging.getLogger(__name__) + +_opts = {'object_dd_threads': 20} +container = argv[1] +objects = argv[2:] +with SwiftService(options=_opts) as swift: + del_iter = swift.delete(container=container, objects=objects) + for del_res in del_iter: + c = del_res.get('container', '') + o = del_res.get('object', '') + a = del_res.get('attempts') + if del_res['success'] and not del_res['action'] == 'bulk_delete': + rd = del_res.get('response_dict') + if rd is not None: + t = dict(rd.get('headers', {})) + if t: + print( + 'Successfully deleted {0}/{1} in {2} attempts ' + '(transaction id: {3})'.format(c, o, a, t) + ) + else: + print( + 'Successfully deleted {0}/{1} in {2} ' + 'attempts'.format(c, o, a) + ) |