def list_containers_info(self, limit=None, marker=None, **parms): """ Returns a list of Containers, including object count and size. >>> connection.list_containers_info() [{u'count': 510, u'bytes': 2081717, u'name': u'new_container'}, {u'count': 12, u'bytes': 23074, u'name': u'old_container'}, {u'count': 0, u'bytes': 0, u'name': u'container1'}, {u'count': 0, u'bytes': 0, u'name': u'container2'}, {u'count': 0, u'bytes': 0, u'name': u'container3'}, {u'count': 3, u'bytes': 2306, u'name': u'test'}] @rtype: list({"name":"...", "count":..., "bytes":...}) @return: a list of all container info as dictionaries with the keys "name", "count", and "bytes" @param limit: number of results to return, up to 10,000 @type limit: int @param marker: return only results whose name is greater than "marker" @type marker: str """ if limit: parms['limit'] = limit if marker: parms['marker'] = marker parms['format'] = 'json' response = self.make_request('GET', [''], parms=parms) if (response.status < 200) or (response.status > 299): buff = response.read() raise ResponseError(response.status, response.reason) return json_loads(response.read())
def list_objects_info(self, prefix=None, limit=None, marker=None, path=None, **parms): """ Return information about all objects in the Container. Keyword arguments are treated as HTTP query parameters and can be used limit the result set (see the API documentation). >>> conn['container1'].list_objects_info(limit=2) [{u'bytes': 4820, u'content_type': u'application/octet-stream', u'hash': u'db8b55400b91ce34d800e126e37886f8', u'last_modified': u'2008-11-05T00:56:00.406565', u'name': u'new_object'}, {u'bytes': 1896, u'content_type': u'application/octet-stream', u'hash': u'1b49df63db7bc97cd2a10e391e102d4b', u'last_modified': u'2008-11-05T00:56:27.508729', u'name': u'old_object'}] @param prefix: filter the results using this prefix @type prefix: str @param limit: return the first "limit" objects found @type limit: int @param marker: return objects with names greater than "marker" @type marker: str @param path: return all objects in "path" @type path: str @rtype: list({"name":"...", "hash":..., "size":..., "type":...}) @return: a list of all container info as dictionaries with the keys "name", "hash", "size", and "type" """ parms["format"] = "json" resp = self._list_objects_raw(prefix, limit, marker, path, **parms) return json_loads(resp)
def list_objects_info(self, prefix=None, limit=None, marker=None, path=None, delimiter=None, **parms): """ Return information about all objects in the Container. Keyword arguments are treated as HTTP query parameters and can be used limit the result set (see the API documentation). >>> conn['container1'].list_objects_info(limit=2) [{u'bytes': 4820, u'content_type': u'application/octet-stream', u'hash': u'db8b55400b91ce34d800e126e37886f8', u'last_modified': u'2008-11-05T00:56:00.406565', u'name': u'new_object'}, {u'bytes': 1896, u'content_type': u'application/octet-stream', u'hash': u'1b49df63db7bc97cd2a10e391e102d4b', u'last_modified': u'2008-11-05T00:56:27.508729', u'name': u'old_object'}] @param prefix: filter the results using this prefix @type prefix: str @param limit: return the first "limit" objects found @type limit: int @param marker: return objects with names greater than "marker" @type marker: str @param path: return all objects in "path" @type path: str @param delimiter: use this character as a delimiter for subdirectories @type delimiter: char @rtype: list({"name":"...", "hash":..., "size":..., "type":...}) @return: a list of all container info as dictionaries with the keys "name", "hash", "size", and "type" """ parms['format'] = 'json' resp = self._list_objects_raw(prefix, limit, marker, path, delimiter, **parms) return json_loads(resp)