From f332fa4ed8c0e63c5b7f38b6b8485b1190bf4455 Mon Sep 17 00:00:00 2001 From: Sebastian Tobie Date: Sat, 25 Nov 2023 12:32:07 +0100 Subject: [PATCH] update_doc is now an script in ansible-module --- update_doc | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100755 update_doc diff --git a/update_doc b/update_doc deleted file mode 100755 index 3e36c26..0000000 --- a/update_doc +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/python -import importlib -import pathlib -import re -import sys - -sys.path.append(".") -mindocstring = "DOCUMENTATION = ''''''" -moduledir = pathlib.Path("plugins/modules") -regex = re.compile("DOCUMENTATION *= *r?(?P\"{3}|'{3})(---)?.*?(?P=quote)", re.MULTILINE | re.DOTALL) - -if __name__ == "__main__": - for modfile in moduledir.iterdir(): - if modfile.name in ( "__init__.py", "__pycache__", "unit.py.example"): - continue - mod = importlib.import_module(".".join((modfile.parts[:-1])+(modfile.stem,))) - if hasattr(mod, "Module"): - module = mod.Module - elif hasattr(mod, "__module_name__"): - module = getattr(mod, mod.__module_name__) - else: - print("Error loading Module of File: {}. No Module or __module_name__ defined".format(modfile)) - continue - try: - moddoc = module.doc() - except AttributeError: - print("Broken module. skipping {}".format(modfile)) - continue - except Exception as e: - print("Error in documentation of module {}: {}".format(modfile, e)) - continue - moddata = modfile.read_text() - match = regex.search(moddata) - if not match: - print("no Documentation set for module {}. Please add at least \"{}\" to the file".format(modfile.stem, mindocstring)) - continue - newmod = "{pre}DOCUMENTATION = {quote}{doc}{quote}{post}".format(pre=moddata[:match.start()], quote=match.group("quote"), doc=moddoc, post=moddata[match.end():]) - modfile.write_text(newmod) - print("updated the documentation of module {}".format(module.name)) - -# code: python