35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
![]() |
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)
|
||
|
)
|