From 2af40b9aa1fe914fccc94865624a7469344d2edc Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Thu, 28 May 2009 21:02:22 -0400 Subject: Parse document fields to create revision history metadata. --- doc/_ext/px_xlator.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'doc/_ext') diff --git a/doc/_ext/px_xlator.py b/doc/_ext/px_xlator.py index 7bc3d69..439926c 100644 --- a/doc/_ext/px_xlator.py +++ b/doc/_ext/px_xlator.py @@ -30,17 +30,24 @@ class PxTranslator(BaseHtmlXlator): else: BaseHtmlXlator.visit_title(self, node) - # TODO: get history from here? def visit_field_list(self, node): - raise nodes.SkipNode - - def depart_field_list(self, node): pass - def visit_field(self, node): pass - def depart_field(self, node): pass - def visit_field_name(self, node): pass - def depart_field_name(self, node): pass - def visit_field_body(self, node): pass - def depart_field_body(self, node): pass + self.history = [] + + def depart_field_list(self, node): + if self.history: + self.body.append("\n") + for hist in self.history: + when, what = hist.split(',') + self.body.append("%s\n" % (when, self.encode(what.strip()))) + self.body.append("\n") + + def visit_field(self, node): + if node.children[0].astext() == 'history': + self.history.append(node.children[1].astext()) + raise nodes.SkipChildren + + def depart_field(self, node): + pass def visit_literal_block(self, node): if node.rawsource != node.astext(): -- cgit v1.2.1