def update_container_count(self): containers = [] container_count = 0 containers, container_count = get_account_details(self.datadir, self.memcache) if int(self.metadata[X_CONTAINER_COUNT]) != container_count: self.metadata[X_CONTAINER_COUNT] = container_count self.update_account(self.metadata)
def list_account_containers(self, limit, marker, end_marker, prefix, delimiter, out_content_type): """ Return tuple of name, object_count, bytes_used, 0(is_subdir). Used by account server. """ if delimiter and not prefix: prefix = '' containers = [] container_count = 0 account_list = [] containers, container_count = get_account_details(self.datadir, self.memcache) if int(self.metadata[X_CONTAINER_COUNT]) != container_count: self.metadata[X_CONTAINER_COUNT] = container_count self.update_account(self.metadata) if containers: containers.sort() if containers and prefix: containers = self.filter_prefix(containers, prefix) if containers and delimiter: containers = self.filter_delimiter(containers, delimiter, prefix) if containers and marker: containers = self.filter_marker(containers, marker) if containers and end_marker: containers = self.filter_end_marker(containers, end_marker) if containers and limit: if len(containers) > limit: containers = self.filter_limit(containers, limit) if containers: for cont in containers: list_item = [] metadata = None list_item.append(cont) if out_content_type != 'text/plain': metadata = read_metadata(self.datadir + '/' + cont) if not metadata: metadata = create_container_metadata(self.datadir + '/' + cont) if metadata: list_item.append(metadata[X_OBJECTS_COUNT]) list_item.append(metadata[X_BYTES_USED]) list_item.append(0) account_list.append(list_item) #print 'Gaurav list_containet objs', objects return account_list