def _get_entry(self, path_str: str) -> Entry:
"""
Gets an entry or raises ENOENT.
"""
path = PurePosixPath(path_str)
if len(path.parts) == 4:
# Synthesize a file!
_, table_name, row_ref, column_name = path.parts
return ColumnFile(table_name, row_ref, column_name)
elif len(path.parts) == 3:
# It's a row!
_, table_name, row_ref = path.parts
return RowDirectory(table_name, row_ref)
elif len(path.parts) == 2:
# Table directory
_, table_name = path.parts
return TableDirectory(table_name)
elif len(path.parts) == 1:
# Root directory
return RootDirectory()
raise FuseOSError(ENOENT)
评论列表
文章目录