diff options
author | Matthias Baumgartner <dev@igsor.net> | 2022-10-31 13:05:31 +0100 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2022-10-31 13:05:31 +0100 |
commit | 068b3651c16916877eb8d5fdfec52485a507e204 (patch) | |
tree | 065afefdb28d6a16350af750da002397a7e298f8 /bsie/reader/stat.py | |
parent | ce848b215086bd8d0f3e67a25a08239386b11ddb (diff) | |
download | bsie-068b3651c16916877eb8d5fdfec52485a507e204.tar.gz bsie-068b3651c16916877eb8d5fdfec52485a507e204.tar.bz2 bsie-068b3651c16916877eb8d5fdfec52485a507e204.zip |
path and stat readers
Diffstat (limited to 'bsie/reader/stat.py')
-rw-r--r-- | bsie/reader/stat.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/bsie/reader/stat.py b/bsie/reader/stat.py new file mode 100644 index 0000000..f0b83fb --- /dev/null +++ b/bsie/reader/stat.py @@ -0,0 +1,34 @@ +"""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 ## |