summaryrefslogtreecommitdiff
path: root/docutils/transforms/universal.py
diff options
context:
space:
mode:
authorgoodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2004-01-23 02:35:13 +0000
committergoodger <goodger@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2004-01-23 02:35:13 +0000
commitb24dd9aaa77085ba010d3d2aaa2a42dac8f73e16 (patch)
tree940e46ecfba2e7752a8ffd2f059c8b592a7779d0 /docutils/transforms/universal.py
parent9899cfe846c05ad7669126b4939a6881e7f028e8 (diff)
downloaddocutils-b24dd9aaa77085ba010d3d2aaa2a42dac8f73e16.tar.gz
Added FilterMessages transform (removes system messages below the verbosity threshold)
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@1811 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/transforms/universal.py')
-rw-r--r--docutils/transforms/universal.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/docutils/transforms/universal.py b/docutils/transforms/universal.py
index 4523304f2..e7d1f150c 100644
--- a/docutils/transforms/universal.py
+++ b/docutils/transforms/universal.py
@@ -111,6 +111,29 @@ class Messages(Transform):
self.document += section
+class FilterMessages(Transform):
+
+ """
+ Remove system messages below verbosity threshold.
+ """
+
+ default_priority = 870
+
+ def apply(self):
+ visitor = SystemMessageFilterVisitor(self.document)
+ self.document.walk(visitor)
+
+
+class SystemMessageFilterVisitor(nodes.SparseNodeVisitor):
+
+ def unknown_visit(self, node):
+ pass
+
+ def visit_system_message(self, node):
+ if node['level'] < self.document.reporter['writer'].report_level:
+ node.parent.remove(node)
+
+
class TestMessages(Transform):
"""