aboutsummaryrefslogtreecommitdiff
path: root/docs/refman/loaderpickle.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-10-07 19:46:06 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-10-07 19:46:06 +0200
commitba93dd20ca7f987ed6f23d525963329b77dc5813 (patch)
treec5d2d9e3f0293eda8522530fbfd3877c921548fa /docs/refman/loaderpickle.py
parentf06cdf0606ac1cfd946b7b2b70e4e4084baac23c (diff)
downloadmeson-ba93dd20ca7f987ed6f23d525963329b77dc5813.zip
meson-ba93dd20ca7f987ed6f23d525963329b77dc5813.tar.gz
meson-ba93dd20ca7f987ed6f23d525963329b77dc5813.tar.bz2
docs: Added pickle RefMan loader
Diffstat (limited to 'docs/refman/loaderpickle.py')
-rw-r--r--docs/refman/loaderpickle.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/refman/loaderpickle.py b/docs/refman/loaderpickle.py
new file mode 100644
index 0000000..722fedf
--- /dev/null
+++ b/docs/refman/loaderpickle.py
@@ -0,0 +1,22 @@
+# SPDX-License-Identifer: 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()