diff --git a/tools/check_documentation.py b/tools/check_documentation.py index e1edda0eb..fbf4e59da 100755 --- a/tools/check_documentation.py +++ b/tools/check_documentation.py @@ -47,13 +47,14 @@ def _check_dir(dir_name, exclude_files=None, files=False, show_extra=False): state = State.SKIP else: try: - new_doc, _, variables, outputs = tfdoc.create_doc( - readme_path.parent, files, show_extra, exclude_files, readme) - variables = [v.name for v in variables] + new_doc = tfdoc.create_doc(readme_path.parent, files, show_extra, + exclude_files, readme) + variables = [v.name for v in new_doc.variables] + outputs = [v.name for v in new_doc.outputs] except SystemExit: state = state.SKIP else: - if new_doc == result['doc']: + if new_doc.content == result['doc']: state = State.OK elif variables != sorted(variables): state = state.FAIL @@ -72,7 +73,8 @@ def _check_dir(dir_name, exclude_files=None, files=False, show_extra=False): else: state = State.FAIL header = f'----- {mod_name} diff -----\n' - ndiff = difflib.ndiff(result['doc'].split('\n'), new_doc.split('\n')) + ndiff = difflib.ndiff(result['doc'].split('\n'), + new_doc.content.split('\n')) diff = '\n'.join([header] + list(ndiff)) yield mod_name, state, diff diff --git a/tools/tfdoc.py b/tools/tfdoc.py index aeb634086..6d28a0651 100755 --- a/tools/tfdoc.py +++ b/tools/tfdoc.py @@ -99,13 +99,13 @@ VAR_RE = re.compile(r'''(?smx) VAR_RE_TYPE = re.compile(r'([\(\{\}\)])') VAR_TEMPLATE = ('default', 'description', 'type', 'nullable') +Document = collections.namedtuple('Document', 'content files variables outputs') File = collections.namedtuple('File', 'name description modules resources') Output = collections.namedtuple( 'Output', 'name description sensitive consumers file line') Variable = collections.namedtuple( 'Variable', 'name description type default required nullable source file line') - # parsing functions @@ -359,7 +359,7 @@ def create_doc(module_path, files=False, show_extra=False, exclude_files=None, except (IOError, OSError) as e: raise SystemExit(e) doc = format_doc(mod_outputs, mod_variables, mod_files, show_extra) - return (doc, mod_files, mod_variables, mod_outputs) + return Document(doc, mod_files, mod_variables, mod_outputs) def get_readme(readme_path): @@ -401,9 +401,9 @@ def main(module_path=None, exclude_file=None, files=False, replace=True, 'Program entry point.' readme_path = os.path.join(module_path, 'README.md') readme = get_readme(readme_path) - doc, *_ = create_doc(module_path, files, show_extra, exclude_file, readme) + doc = create_doc(module_path, files, show_extra, exclude_file, readme) if replace: - replace_doc(readme_path, doc, readme) + replace_doc(readme_path, doc.content, readme) else: print(doc)