Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/backends/archive.py
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | class Archive: | ||||
def get_releases(self, release_ids): | def get_releases(self, release_ids): | ||||
return self.storage.release_get(releases=release_ids) | return self.storage.release_get(releases=release_ids) | ||||
def get_directory_entries(self, directory_id, after=None, first=50): | def get_directory_entries(self, directory_id, after=None, first=50): | ||||
return self.storage.directory_get_entries( | return self.storage.directory_get_entries( | ||||
directory_id, limit=first, page_token=after | directory_id, limit=first, page_token=after | ||||
) | ) | ||||
def get_content(self, content_id): | |||||
# FIXME, only for tests | |||||
return self.storage.content_find({"sha1_git": content_id}) | |||||
def is_object_available(self, object_id: str, object_type: ObjectType) -> bool: | def is_object_available(self, object_id: str, object_type: ObjectType) -> bool: | ||||
mapping = { | mapping = { | ||||
ObjectType.CONTENT: self.storage.content_missing_per_sha1_git, | ObjectType.CONTENT: self.storage.content_missing_per_sha1_git, | ||||
ObjectType.DIRECTORY: self.storage.directory_missing, | ObjectType.DIRECTORY: self.storage.directory_missing, | ||||
ObjectType.RELEASE: self.storage.release_missing, | ObjectType.RELEASE: self.storage.release_missing, | ||||
ObjectType.REVISION: self.storage.revision_missing, | ObjectType.REVISION: self.storage.revision_missing, | ||||
ObjectType.SNAPSHOT: self.storage.snapshot_missing, | ObjectType.SNAPSHOT: self.storage.snapshot_missing, | ||||
} | } | ||||
return not list(mapping[object_type]([object_id])) | return not list(mapping[object_type]([object_id])) | ||||
def get_contents(self, checksums: dict): | |||||
return self.storage.content_find(checksums) | |||||
def get_content_data(self, content_sha1): | |||||
return self.storage.content_get_data(content_sha1) |