diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-09-10 17:38:10 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-09-15 02:29:50 +0900 |
commit | d281a32b3bdbc4a2d0c609f4f2e8e48df76f2951 (patch) | |
tree | bacf287199e0849a3a284e44162aff699234f2d1 /sphinx/transforms.py | |
parent | cd515d568de2a397c9ffbf771f377cf5583e1d69 (diff) | |
download | sphinx-git-d281a32b3bdbc4a2d0c609f4f2e8e48df76f2951.tar.gz |
Refactor sphinx.environment: Reimplement filter_messages() as a transform
Diffstat (limited to 'sphinx/transforms.py')
-rw-r--r-- | sphinx/transforms.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sphinx/transforms.py b/sphinx/transforms.py index 9f2aeb8d1..516b22843 100644 --- a/sphinx/transforms.py +++ b/sphinx/transforms.py @@ -249,6 +249,19 @@ class PreserveTranslatableMessages(Transform): node.preserve_original_messages() +class FilterSystemMessages(Transform): + """Filter system messages from a doctree.""" + default_priority = 999 + + def apply(self): + env = self.document.settings.env + filterlevel = env.config.keep_warnings and 2 or 5 + for node in self.document.traverse(nodes.system_message): + if node['level'] < filterlevel: + env.app.debug('%s [filtered system message]', node.astext()) + node.parent.remove(node) + + class Locale(Transform): """ Replace translatable nodes with their translated doctree. |