| # SPDX-License-Identifier: Apache-2.0 | |
| # Copyright 2021 The Meson development team | |
| from pathlib import Path | |
| import pickle | |
| from .loaderbase import LoaderBase | |
| from .model import ReferenceManual | |
| class LoaderPickle(LoaderBase): | |
| def __init__(self, in_file: Path) -> None: | |
| super().__init__() | |
| self.in_file = in_file | |
| def load_impl(self) -> ReferenceManual: | |
| res = pickle.loads(self.in_file.read_bytes()) | |
| assert isinstance(res, ReferenceManual) | |
| return res | |
| # Assume that the pickled data is OK and skip validation | |
| def load(self) -> ReferenceManual: | |
| return self.load_impl() |