diff options
author | Claude Paroz <claude@2xlibre.net> | 2011-05-31 22:46:29 +0200 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2011-06-24 10:21:08 -0400 |
commit | 333218d4978a7b203252d35e7979f64cfb3b0c1c (patch) | |
tree | a326a5b2013b5317703bdd6deb2ad408f61b32c2 /itstool.in | |
parent | 7cda8e16e2281e0e6c42f1e47bfc98ee5e4fe4ae (diff) | |
download | itstool-333218d4978a7b203252d35e7979f64cfb3b0c1c.tar.gz |
Add itst drop rule
The itst Droprule is a rule allowing to ignore completely a tag from
the translation, including its content. The resulting xml will not
have the tag either.
Diffstat (limited to 'itstool.in')
-rwxr-xr-x | itstool.in | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -318,6 +318,7 @@ class Document (object): self._its_within_text_nodes = {} self._its_loc_notes = {} self._itst_preserve_space_nodes = {} + self._itst_drop_nodes = [] self._its_lang = {} self._itst_lang_attr = {} self._itst_credits = None @@ -338,6 +339,10 @@ class Document (object): if rule.prop('selector') is not None: for node in self._try_xpath_eval(xpath, rule.prop('selector')): self._itst_preserve_space_nodes[node] = rule.prop('preserveSpace') + elif xml_is_ns_name(rule, NS_ITST, 'dropRule'): + if rule.prop('selector') is not None: + for node in self._try_xpath_eval(xpath, rule.prop('selector')): + self._itst_drop_nodes.append(node) elif xml_is_ns_name(rule, NS_ITS, 'locNoteRule'): locnote = None for child in xml_child_iter(rule): @@ -689,7 +694,7 @@ class Document (object): if node.type in ('text', 'cdata') and msg is not None: msg.add_text(node.content) return - if node.type != 'element': + if node.type != 'element' or node in self._itst_drop_nodes: return translate = self.get_its_translate(node) if translate is None: |