diff options
author | Robert Göhler <github@ghlr.de> | 2021-06-24 21:01:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-24 21:01:53 +0200 |
commit | fdab6636c4a92d5d4259a4d6adfcd820e6826196 (patch) | |
tree | 05d8f7de2eb917beafcd782118c5fde90d62d613 /docs/_ext/vyos.py | |
parent | 4501b59081039ba8ca947fab93f5efe266a3eb69 (diff) | |
parent | 18e33cb14ab78c9899d9f9709e5810f3e11642b1 (diff) | |
download | vyos-documentation-fdab6636c4a92d5d4259a4d6adfcd820e6826196.tar.gz vyos-documentation-fdab6636c4a92d5d4259a4d6adfcd820e6826196.zip |
Merge pull request #555 from rebortg/metadata
vyos: add proofread meta data test
Diffstat (limited to 'docs/_ext/vyos.py')
-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)}') + + |