Index: grit/node/base.py |
diff --git a/grit/node/base.py b/grit/node/base.py |
index c8f1dd248029727cfdd6cf46f712051f9c21ee21..17770122f785a49e80cb64467a6bd832bb0b37bc 100644 |
--- a/grit/node/base.py |
+++ b/grit/node/base.py |
@@ -222,11 +222,8 @@ class Node(grit.format.interface.ItemFormatter): |
return header + self.FormatXml() |
# Compliance with ItemFormatter interface. |
- def Format(self, item, lang_re = None, begin_item=True): |
- if not begin_item: |
- return '' |
- else: |
- return item.FormatXml() |
+ def Format(self, item, lang_re = None): |
+ return item.FormatXml() |
def FormatXml(self, indent = u'', one_line = False): |
'''Returns this node and all nodes below it as an XML |
@@ -322,6 +319,17 @@ class Node(grit.format.interface.ItemFormatter): |
for child in process_last: |
child.RunGatherers(recursive=recursive, debug=debug) |
+ def SubstituteMessages(self, substituter): |
+ '''Applies substitutions to all messages in the tree. |
+ |
+ Called as a final step of RunGatherers. |
+ |
+ Args: |
+ substituter: a grit.util.Substituter object. |
+ ''' |
+ for child in self.children: |
+ child.SubstituteMessages(substituter) |
+ |
def ItemFormatter(self, type): |
'''Returns an instance of the item formatter for this object of the |
specified type, or None if not supported. |
@@ -338,18 +346,17 @@ class Node(grit.format.interface.ItemFormatter): |
return None |
def SatisfiesOutputCondition(self): |
- '''Returns true if this node is either not a child of an <if> element |
- or if it is a child of an <if> element and the conditions for it being |
- output are satisfied. |
+ '''Returns true if this node is either not a descendant of an <if> element, |
+ or if all conditions on its <if> element ancestors are satisfied. |
Used to determine whether to return item formatters for formats that |
obey conditional output of resources (e.g. the RC formatters). |
''' |
from grit.node import misc |
- if not self.parent or not isinstance(self.parent, misc.IfNode): |
- return True |
+ if self.parent: |
+ return self.parent.SatisfiesOutputCondition() |
else: |
- return self.parent.IsConditionSatisfied() |
+ return True |
def _IsValidChild(self, child): |
'''Returns true if 'child' is a valid child of this node. |
@@ -553,6 +560,10 @@ class Node(grit.format.interface.ItemFormatter): |
''' |
self._whitelist_marked_as_skip = mark_skipped |
+ def ExpandVariables(self): |
+ '''Whether we need to expand variables on a given node.''' |
+ return False |
+ |
class ContentNode(Node): |
'''Convenience baseclass for nodes that can have content.''' |