21 from .jsonbuilder
import JsonDocBuilder
22 from .robotbuilder
import LibraryDocBuilder, ResourceDocBuilder, SuiteDocBuilder
23 from .xmlbuilder
import XmlDocBuilder
26 RESOURCE_EXTENSIONS = (
'resource',
'robot',
'txt',
'tsv',
'rst',
'rest')
27 XML_EXTENSIONS = (
'xml',
'libspec')
60 libdoc.version = version
62 libdoc.doc_format = doc_format
82 builder = self._get_builder(source)
83 return self._build(builder, source)
86 if os.path.exists(source):
88 if extension ==
'resource':
90 if extension
in RESOURCE_EXTENSIONS:
92 if extension
in XML_EXTENSIONS:
94 if extension ==
'json':
99 path, *args = source.split(
'::')
100 return os.path.splitext(path)[1][1:].lower()
104 return builder.build(source)
109 if (isinstance(builder, LibraryDocBuilder)
110 and not os.path.exists(source)
111 and self.
_get_extension_get_extension(source)
in RESOURCE_EXTENSIONS):
114 if isinstance(builder, SuiteDocBuilder):
118 raise DataError(f
"Building library '{source}' failed: {get_error_message()}")
Keyword documentation builder.
def _get_extension(self, source)
def _build(self, builder, source)
def __init__(self, library_or_resource=None)
library_or_resource is accepted for backwards compatibility reasons.
def _get_builder(self, source)
def LibraryDocumentation(library_or_resource, name=None, version=None, doc_format=None)
Generate keyword documentation for the given library, resource or suite file.