Changeset View
Changeset View
Standalone View
Standalone View
swh/fuse/fs/artifact.py
Show First 20 Lines • Show All 142 Lines • ▼ Show 20 Lines | class Revision(FuseDirEntry): | ||||
swhid: SWHID | swhid: SWHID | ||||
async def __aiter__(self) -> AsyncIterator[FuseEntry]: | async def __aiter__(self) -> AsyncIterator[FuseEntry]: | ||||
metadata = await self.fuse.get_metadata(self.swhid) | metadata = await self.fuse.get_metadata(self.swhid) | ||||
directory = metadata["directory"] | directory = metadata["directory"] | ||||
parents = metadata["parents"] | parents = metadata["parents"] | ||||
# Make sure all necessary metadatas are fetched | |||||
await self.fuse.get_metadata(directory) | |||||
for parent in parents: | |||||
await self.fuse.get_metadata(parent["id"]) | |||||
root_path = self.get_relative_root_path() | root_path = self.get_relative_root_path() | ||||
yield self.create_child( | yield self.create_child( | ||||
FuseSymlinkEntry, | FuseSymlinkEntry, | ||||
name="root", | name="root", | ||||
target=Path(root_path, f"archive/{directory}"), | target=Path(root_path, f"archive/{directory}"), | ||||
) | ) | ||||
yield self.create_child( | yield self.create_child( | ||||
▲ Show 20 Lines • Show All 114 Lines • Show Last 20 Lines |