Module psfdata.psf_dir

Classes

class PsfDir (path: pathlib._local.Path)
Expand source code
class PsfDir:
    def __init__(self, path: Path) -> None:
        self._path = path.absolute()
        logfile_path = self._path / "logFile"
        if not logfile_path.is_file():
            raise FileNotFoundError(f"{logfile_path}")
        logger.info(f"Reading {logfile_path}")
        self._logfile = typing.cast(PsfAsciiFile, PsfFile.load(logfile_path))

        logger.info("HEADER:")
        for k, v in self._logfile.header.items():
            logger.info(f"    {k:22}: {v}")

        logger.info("")
        logger.info("AVAILABLE DATA FILES:")

        for name, item in self._logfile._values.items():
            assert isinstance(item, dict)
            logger.info(f"{name}:")
            for k, v in itertools.islice(item.items(), 40):
                logger.info(f"    {k:22}: {v}")

    def get_analysis(self, name: str) -> PsfFile:
        item = self._logfile._values[name]
        assert isinstance(item, dict)
        filename = item["dataFile"]

        return PsfFile.load(self._path / filename)

Methods

def get_analysis(self, name: str) ‑> PsfFile
Expand source code
def get_analysis(self, name: str) -> PsfFile:
    item = self._logfile._values[name]
    assert isinstance(item, dict)
    filename = item["dataFile"]

    return PsfFile.load(self._path / filename)