Source code for dfvfs.resolver_helpers.resolver_helper

"""The Virtual File System (VFS) resolver helper interface."""

from dfvfs.lib import errors


[docs] class ResolverHelper: """Resolver helper interface.""" # pylint: disable=redundant-returns-doc,unused-argument
[docs] def __init__(self): """Initializes a resolver helper. Raises: ValueError: if a derived resolver helper class does not define a type indicator. """ super().__init__() if not getattr(self, "TYPE_INDICATOR", None): raise ValueError("Missing type indicator.")
@property def type_indicator(self): """str: type indicator.""" # pylint: disable=no-member return self.TYPE_INDICATOR
[docs] def NewFileObject(self, resolver_context, path_spec): """Creates a new file input/output (IO) object. Args: resolver_context (Context): resolver context. path_spec (PathSpec): a path specification. Returns: FileIO: file input/output (IO) object. Raises: NotSupported: if there is no implementation to create a file input/output (IO) object. """ raise errors.NotSupported( "Missing implementation to create file input/output (IO) object." )
[docs] def NewFileSystem(self, resolver_context, path_spec): """Creates a new file system. Args: resolver_context (Context): resolver context. path_spec (PathSpec): a path specification. Returns: FileSystem: file system. Raises: NotSupported: if there is no implementation to create a file system. """ # pylint: disable=no-member raise errors.NotSupported( ( f"Missing implementation to create file system: " f"{self.TYPE_INDICATOR:s}." ) )