mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-16 18:46:27 +02:00
[docs] minor code refactoring
This commit is contained in:
parent
cec2c79d6a
commit
652113443d
4 changed files with 25 additions and 25 deletions
0
docs/source/_ext/__init__.py
Normal file
0
docs/source/_ext/__init__.py
Normal file
|
@ -1,8 +1,7 @@
|
|||
import os
|
||||
from docutils.nodes import SparseNodeVisitor
|
||||
from docutils.parsers.rst import Directive
|
||||
from myst_parser.docutils_ import Parser
|
||||
from myst_parser.mdit_to_docutils.base import make_document
|
||||
from utils import md_to_docutils, get_link_key
|
||||
|
||||
# Python2 compatibility
|
||||
try:
|
||||
|
@ -13,16 +12,8 @@ except NameError:
|
|||
|
||||
class Relinker(SparseNodeVisitor):
|
||||
|
||||
@staticmethod
|
||||
def get_link_key(node):
|
||||
link_keys = ['uri', 'refuri', 'refname']
|
||||
for key in link_keys:
|
||||
if key in node.attributes.keys():
|
||||
return key
|
||||
return None
|
||||
|
||||
def relink(self, node, base_dir):
|
||||
key = Relinker.get_link_key(node)
|
||||
key = get_link_key(node)
|
||||
if key is None:
|
||||
return
|
||||
link = node.attributes[key]
|
||||
|
@ -45,10 +36,8 @@ class FetchMd(Directive):
|
|||
result = []
|
||||
try:
|
||||
with open(path) as file:
|
||||
parser = Parser()
|
||||
text = file.read()
|
||||
doc = make_document(parser_cls=Parser)
|
||||
parser.parse(text, doc)
|
||||
doc = md_to_docutils(text)
|
||||
relinker = Relinker(doc)
|
||||
doc.walk(relinker)
|
||||
result.append(doc[0])
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive
|
||||
from myst_parser.docutils_ import Parser
|
||||
from myst_parser.mdit_to_docutils.base import make_document
|
||||
from utils import md_to_docutils
|
||||
|
||||
import importlib
|
||||
from meshroom.core import desc
|
||||
|
@ -25,28 +24,23 @@ class MeshroomDoc(Directive):
|
|||
# Class inherits desc.Node
|
||||
if issubclass(node_class, desc.Node):
|
||||
node = node_class()
|
||||
parser = Parser()
|
||||
# Category
|
||||
doc = make_document(parser_cls=Parser)
|
||||
parser.parse('**Category**: {}'.format(node.category), doc)
|
||||
doc = md_to_docutils('**Category**: {}'.format(node.category))
|
||||
result.extend(doc.children)
|
||||
# Documentation
|
||||
doc = make_document(parser_cls=Parser)
|
||||
parser.parse(node.documentation, doc)
|
||||
doc = md_to_docutils(node.documentation)
|
||||
result.extend(doc.children)
|
||||
# Inputs
|
||||
text_inputs = '**Inputs**: \n'
|
||||
for attr in node.inputs:
|
||||
text_inputs += '- {} ({})\n'.format(attr._name, attr.__class__.__name__)
|
||||
doc = make_document(parser_cls=Parser)
|
||||
parser.parse(text_inputs, doc)
|
||||
doc = md_to_docutils(text_inputs)
|
||||
result.extend(doc.children)
|
||||
# Outputs
|
||||
text_outputs = '**Outputs**: \n'
|
||||
for attr in node.outputs:
|
||||
text_outputs += '- {} ({})\n'.format(attr._name, attr.__class__.__name__)
|
||||
doc = make_document(parser_cls=Parser)
|
||||
parser.parse(text_outputs, doc)
|
||||
doc = md_to_docutils(text_outputs)
|
||||
result.extend(doc.children)
|
||||
return result
|
||||
|
||||
|
|
17
docs/source/_ext/utils.py
Normal file
17
docs/source/_ext/utils.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
from myst_parser.docutils_ import Parser
|
||||
from myst_parser.mdit_to_docutils.base import make_document
|
||||
|
||||
|
||||
def md_to_docutils(text):
|
||||
parser = Parser()
|
||||
doc = make_document(parser_cls=Parser)
|
||||
parser.parse(text, doc)
|
||||
return doc
|
||||
|
||||
|
||||
def get_link_key(node):
|
||||
link_keys = ['uri', 'refuri', 'refname']
|
||||
for key in link_keys:
|
||||
if key in node.attributes.keys():
|
||||
return key
|
||||
return None
|
Loading…
Add table
Add a link
Reference in a new issue