| 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.'''
|
|
|