3a5a25fe98
As a result of the Hackathon we have produced a new documentation structure for the python-swiftclient. This patch introduces the new structure and adds the required content. The intention is to document the CLI, the SwiftService and Connection API. Importantly, we also provide guidance on important considerations when using a swift object store, such as which aspect of the python-swiftclient to use for various use cases, common authentication patterns and some useful examples. Co-Authored-By: Alexandra Settle <alexandra.settle@rackspace.com> Co-Authored-By: Mohit Motiani <mohit.motiani@intel.com> Co-Authored-By: Hisashi Osanai <osanai.hisashi@jp.fujitsu.com> Change-Id: I9eb41f8e9137efa66cead67dc264a76a3c03fbda
33 lines
1013 B
Python
33 lines
1013 B
Python
import logging
|
|
|
|
from swiftclient.service import SwiftService, SwiftError
|
|
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__)
|
|
|
|
container = argv[1]
|
|
minimum_size = 10*1024**2
|
|
with SwiftService() as swift:
|
|
try:
|
|
list_parts_gen = swift.list(container=container)
|
|
for page in list_parts_gen:
|
|
if page["success"]:
|
|
for item in page["listing"]:
|
|
|
|
i_size = int(item["bytes"])
|
|
if i_size > minimum_size:
|
|
i_name = item["name"]
|
|
i_etag = item["hash"]
|
|
print(
|
|
"%s [size: %s] [etag: %s]" %
|
|
(i_name, i_size, i_etag)
|
|
)
|
|
else:
|
|
raise page["error"]
|
|
|
|
except SwiftError as e:
|
|
logger.error(e.value)
|