You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
# 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()
|