Przeglądaj źródła

Migrate XAP docs generator into CLI now that most logic is in Jinja2 files.

Nick Brassel 4 lat temu
rodzic
commit
6c7afbb859

+ 30 - 2
lib/python/qmk/cli/xap/generate_docs.py

@@ -1,11 +1,39 @@
 """This script generates the XAP protocol documentation.
 """
+import hjson
+from qmk.constants import QMK_FIRMWARE
+from qmk.xap.common import get_xap_definition_files, update_xap_definitions, render_xap_output
 from milc import cli
-from qmk.xap.gen_docs.generator import generate_docs
 
 
 @cli.subcommand('Generates the XAP protocol documentation.', hidden=False if cli.config.user.developer else True)
 def xap_generate_docs(cli):
     """Generates the XAP protocol documentation by merging the definitions files, and producing the corresponding Markdown document under `/docs/`.
     """
-    generate_docs()
+    docs_list = []
+
+    overall = None
+    for file in get_xap_definition_files():
+        overall = update_xap_definitions(overall, hjson.load(file.open(encoding='utf-8')))
+
+        # Inject dummy bits for unspecified response flags
+        for n in range(0, 8):
+            if str(n) not in overall['response_flags']['bits']:
+                overall['response_flags']['bits'][str(n)] = {'name': '', 'description': '', 'define': '-'}
+
+        output_doc = QMK_FIRMWARE / "docs" / f"{file.stem}.md"
+        docs_list.append(output_doc)
+        output = render_xap_output('docs', 'docs.md.j2', overall)
+        with open(output_doc, "w", encoding='utf-8') as out_file:
+            out_file.write(output)
+
+    output_doc = QMK_FIRMWARE / "docs" / f"xap_protocol.md"
+    with open(output_doc, "w", encoding='utf-8') as out_file:
+        out_file.write('''\
+# XAP Protocol Reference
+
+''')
+
+        for file in reversed(sorted(docs_list)):
+            ver = file.stem[4:]
+            out_file.write(f'* [XAP Version {ver}]({file.name})\n')

+ 0 - 0
lib/python/qmk/xap/gen_docs/__init__.py


+ 0 - 37
lib/python/qmk/xap/gen_docs/generator.py

@@ -1,37 +0,0 @@
-"""This script generates the XAP protocol documentation.
-"""
-import hjson
-from qmk.constants import QMK_FIRMWARE
-from qmk.xap.common import get_xap_definition_files, update_xap_definitions, render_xap_output
-
-
-def generate_docs():
-    """Generates the XAP protocol documentation by merging the definitions files, and producing the corresponding Markdown document under `/docs/`.
-    """
-    docs_list = []
-
-    overall = None
-    for file in get_xap_definition_files():
-        overall = update_xap_definitions(overall, hjson.load(file.open(encoding='utf-8')))
-
-        # Inject dummy bits for unspecified response flags
-        for n in range(0, 8):
-            if str(n) not in overall['response_flags']['bits']:
-                overall['response_flags']['bits'][str(n)] = {'name': '', 'description': '', 'define': '-'}
-
-        output_doc = QMK_FIRMWARE / "docs" / f"{file.stem}.md"
-        docs_list.append(output_doc)
-        output = render_xap_output('docs', 'docs.md.j2', overall)
-        with open(output_doc, "w", encoding='utf-8') as out_file:
-            out_file.write(output)
-
-    output_doc = QMK_FIRMWARE / "docs" / f"xap_protocol.md"
-    with open(output_doc, "w", encoding='utf-8') as out_file:
-        out_file.write('''\
-# XAP Protocol Reference
-
-''')
-
-        for file in reversed(sorted(docs_list)):
-            ver = file.stem[4:]
-            out_file.write(f'* [XAP Version {ver}]({file.name})\n')