summaryrefslogtreecommitdiff
path: root/docs/_ext
diff options
context:
space:
mode:
authorrebortg <github@ghlr.de>2021-06-23 20:20:26 +0200
committerrebortg <github@ghlr.de>2021-06-24 21:22:23 +0200
commit50294038fe6498fe398973b0294ac43d1658add5 (patch)
tree1d261cbc04b7491dee9c6c95b44f5716f8d3ba6a /docs/_ext
parent49eb1d1fbffb2ee5fb0cf8866d2fee7f4af6fc1e (diff)
downloadvyos-documentation-50294038fe6498fe398973b0294ac43d1658add5.tar.gz
vyos-documentation-50294038fe6498fe398973b0294ac43d1658add5.zip
vyos: add proofread meta data test
(cherry picked from commit 18e33cb14ab78c9899d9f9709e5810f3e11642b1)
Diffstat (limited to 'docs/_ext')
-rw-r--r--docs/_ext/vyos.py26
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)}')
+
+