summaryrefslogtreecommitdiff
path: root/examples/delete.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/delete.py')
-rw-r--r--examples/delete.py34
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)
+ )