diff options
| author | rebortg <github@ghlr.de> | 2021-06-23 20:20:26 +0200 | 
|---|---|---|
| committer | rebortg <github@ghlr.de> | 2021-06-23 20:20:26 +0200 | 
| commit | 18e33cb14ab78c9899d9f9709e5810f3e11642b1 (patch) | |
| tree | 866d305065f5595356ce3140d1fd86b1a97fd3c9 /docs/_ext | |
| parent | 6f5dad1978811601f5219f6856f11b994dde301d (diff) | |
| download | vyos-documentation-18e33cb14ab78c9899d9f9709e5810f3e11642b1.tar.gz vyos-documentation-18e33cb14ab78c9899d9f9709e5810f3e11642b1.zip | |
vyos: add proofread meta data test
Diffstat (limited to 'docs/_ext')
| -rw-r--r-- | docs/_ext/vyos.py | 26 | 
1 files changed, 25 insertions, 1 deletions
| diff --git a/docs/_ext/vyos.py b/docs/_ext/vyos.py index 46ebae36..0a198821 100644 --- a/docs/_ext/vyos.py +++ b/docs/_ext/vyos.py @@ -1,6 +1,7 @@  import re  import json  import os +from datetime import datetime  from docutils import io, nodes, utils, statemachine  from docutils.parsers.rst.roles import set_classes  from docutils.parsers.rst import Directive, directives, states @@ -9,6 +10,9 @@ from sphinx.util.docutils import SphinxDirective  from testcoverage import get_working_commands +from sphinx.util import logging + +logger = logging.getLogger(__name__)  def setup(app): @@ -74,6 +78,7 @@ def setup(app):      app.add_directive('opcmd', OpCmdDirective)      app.add_directive('cmdinclude', CfgInclude)      app.connect('doctree-resolved', process_cmd_nodes) +    app.connect('doctree-read', handle_document_meta_data)  class CfgcmdList(nodes.General, nodes.Element):      pass @@ -640,4 +645,23 @@ def vytask_role(name, rawtext, text, lineno, inliner, options={}, content=[]):  def cmd_role(name, rawtext, text, lineno, inliner, options={}, content=[]):      node = nodes.literal(text, text) -    return [node], []
\ No newline at end of file +    return [node], [] + + +def handle_document_meta_data(app, document): +    docname = app.env.docname +    lastproofread = app.env.metadata[docname].get('lastproofread', False) +    if lastproofread: +        try: +            lastproofread_time = datetime.strptime(lastproofread, '%Y-%m-%d') +            delta = datetime.now() - lastproofread_time +            if delta.days > 180: +                logger.warning(f'{delta.days} days since last proofread {app.env.doc2path(docname)}') + +        except Exception as e: +            logger.warning(f'lastproofread meta data error in {app.env.doc2path(docname)}: {e}') +    else: +        pass +        #logger.warning(f'lastproofread meta data missing in {app.env.doc2path(docname)}') + +         | 
