|
|
@@ -1519,48 +1519,3 @@ class OpenStackBucketContainer(BaseBucketContainer):
|
|
|
|
|
|
def __init__(self, provider, bucket):
|
|
|
super(OpenStackBucketContainer, self).__init__(provider, bucket)
|
|
|
-
|
|
|
- def get(self, name):
|
|
|
- """
|
|
|
- Retrieve a given object from this bucket.
|
|
|
- """
|
|
|
- # Swift always returns a reference for the container first,
|
|
|
- # followed by a list containing references to objects.
|
|
|
- _, object_list = self._provider.swift.get_container(
|
|
|
- self.bucket.name, prefix=name)
|
|
|
- # Loop through list of objects looking for an exact name vs. a prefix
|
|
|
- for obj in object_list:
|
|
|
- if obj.get('name') == name:
|
|
|
- return OpenStackBucketObject(self._provider,
|
|
|
- self.bucket,
|
|
|
- obj)
|
|
|
- return None
|
|
|
-
|
|
|
- def list(self, limit=None, marker=None, prefix=None):
|
|
|
- """
|
|
|
- List all objects within this bucket.
|
|
|
-
|
|
|
- :rtype: BucketObject
|
|
|
- :return: List of all available BucketObjects within this bucket.
|
|
|
- """
|
|
|
- _, object_list = self._provider.swift.get_container(
|
|
|
- self.bucket.name,
|
|
|
- limit=oshelpers.os_result_limit(self._provider, limit),
|
|
|
- marker=marker, prefix=prefix)
|
|
|
- cb_objects = [OpenStackBucketObject(
|
|
|
- self._provider, self.bucket, obj) for obj in object_list]
|
|
|
-
|
|
|
- return oshelpers.to_server_paged_list(
|
|
|
- self._provider,
|
|
|
- cb_objects,
|
|
|
- limit)
|
|
|
-
|
|
|
- def find(self, **kwargs):
|
|
|
- obj_list = self
|
|
|
- filters = ['name']
|
|
|
- matches = cb_helpers.generic_find(filters, kwargs, obj_list)
|
|
|
- return ClientPagedResultList(self._provider, list(matches))
|
|
|
-
|
|
|
- def create(self, object_name):
|
|
|
- self._provider.swift.put_object(self.bucket.name, object_name, None)
|
|
|
- return self.get(object_name)
|