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-23 20:20:26 +0200
commit18e33cb14ab78c9899d9f9709e5810f3e11642b1 (patch)
tree866d305065f5595356ce3140d1fd86b1a97fd3c9 /docs/_ext
parent6f5dad1978811601f5219f6856f11b994dde301d (diff)
downloadvyos-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.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)}')
+
+