"""The Stat reader produces filesystem stat information. Part of the bsie module. A copy of the license is provided with the project. Author: Matthias Baumgartner, 2022 """ # imports import os import typing # inner-module imports from bsie.base import reader, errors # exports __all__: typing.Sequence[str] = ( 'Stat', ) ## code ## class Stat(reader.Reader): """Read and return the filesystem's stat infos.""" CONTENT_TYPE = typing.Union[os.stat_result] def __call__(self, path: str) -> CONTENT_TYPE: try: return os.stat(path) except Exception: raise errors.ReaderError(path) ## EOF ##