aboutsummaryrefslogtreecommitdiff
path: root/docs/refman
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-08-21 16:25:09 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-10-03 11:46:34 +0200
commit955a29a92d93b3aa09f49e5217be6c1304fc5fbe (patch)
tree680de763bd7006eee509bbb64b9e70a99ada6fa4 /docs/refman
parent2b482e39a90fa1929e0fa4006861f4264f28adb2 (diff)
downloadmeson-955a29a92d93b3aa09f49e5217be6c1304fc5fbe.zip
meson-955a29a92d93b3aa09f49e5217be6c1304fc5fbe.tar.gz
meson-955a29a92d93b3aa09f49e5217be6c1304fc5fbe.tar.bz2
docs: Added pickle generator
Diffstat (limited to 'docs/refman')
-rw-r--r--docs/refman/generatorpickle.py26
-rw-r--r--docs/refman/main.py5
2 files changed, 30 insertions, 1 deletions
diff --git a/docs/refman/generatorpickle.py b/docs/refman/generatorpickle.py
new file mode 100644
index 0000000..364a988
--- /dev/null
+++ b/docs/refman/generatorpickle.py
@@ -0,0 +1,26 @@
+# Copyright 2021 The Meson development team
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import pickle
+from pathlib import Path
+from .generatorbase import GeneratorBase
+from .model import ReferenceManual
+
+class GeneratorPickle(GeneratorBase):
+ def __init__(self, manual: ReferenceManual, outpath: Path) -> None:
+ self.out = outpath
+ super().__init__(manual)
+
+ def generate(self) -> None:
+ self.out.write_bytes(pickle.dumps(self.manual))
diff --git a/docs/refman/main.py b/docs/refman/main.py
index 96698ae..34f2a3e 100644
--- a/docs/refman/main.py
+++ b/docs/refman/main.py
@@ -23,13 +23,15 @@ from .loaderyaml import LoaderYAML
from .generatorbase import GeneratorBase
from .generatorprint import GeneratorPrint
+from .generatorpickle import GeneratorPickle
meson_root = Path(__file__).absolute().parents[2]
def main() -> int:
parser = argparse.ArgumentParser(description='Meson reference manual generator')
parser.add_argument('-l', '--loader', type=str, default='yaml', choices=['yaml'], help='Information loader backend')
- parser.add_argument('-g', '--generator', type=str, choices=['print'], required=True, help='Generator backend')
+ parser.add_argument('-g', '--generator', type=str, choices=['print', 'pickle', 'md'], required=True, help='Generator backend')
+ parser.add_argument('-o', '--out', type=Path, required=True, help='Output directory for generated files')
parser.add_argument('--depfile', type=Path, default=None, help='Set to generate a depfile')
parser.add_argument('--force-color', action='store_true', help='Force enable colors')
args = parser.parse_args()
@@ -46,6 +48,7 @@ def main() -> int:
generators: T.Dict[str, T.Callable[[], GeneratorBase]] = {
'print': lambda: GeneratorPrint(refMan),
+ 'pickle': lambda: GeneratorPickle(refMan, args.out),
}
generator = generators[args.generator]()