diff options
author | Shaun McCance <shaunm@gnome.org> | 2012-09-19 16:49:47 -0400 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2012-09-19 16:49:47 -0400 |
commit | a0880365b8562d59e81889e980429aef840f89c4 (patch) | |
tree | e231633e8c22c63c647066f994817f7009fa5b46 | |
parent | fee986b054284b029b7b870eff6ded9fd53e43a0 (diff) | |
download | itstool-a0880365b8562d59e81889e980429aef840f89c4.tar.gz |
Use External Resource implementation for itst:externalRefRule
-rwxr-xr-x | itstool.in | 46 | ||||
-rw-r--r-- | tests/IT-externalRef1.ll.po | 12 | ||||
-rw-r--r-- | tests/IT-externalRef1.pot | 12 |
3 files changed, 18 insertions, 52 deletions
@@ -474,7 +474,6 @@ class Document (object): self._itst_lang_attr = {} self._itst_credits = None self._its_externals = {} - self._itst_externals = [] def _check_errors(self): if self._xml_err: @@ -592,9 +591,13 @@ class Document (object): for node in self._try_xpath_eval(xpath, rule.nsProp('appendTo', None)): self._itst_credits = (node, rule) break - elif xml_is_ns_name(rule, NS_ITS, 'externalResourceRefRule'): + elif (xml_is_ns_name(rule, NS_ITS, 'externalResourceRefRule') or + xml_is_ns_name(rule, NS_ITST, 'externalRefRule')): sel = rule.nsProp('selector', None) - ptr = rule.nsProp('externalResourceRefPointer', None) + if xml_is_ns_name(rule, NS_ITS, 'externalResourceRefRule'): + ptr = rule.nsProp('externalResourceRefPointer', None) + else: + ptr = rule.nsProp('refPointer', None) if sel is not None and ptr is not None: for node in self._try_xpath_eval(xpath, sel): try: @@ -606,18 +609,6 @@ class Document (object): if len(res) > 0: self._its_externals[node] = res[0].content xpath.setContextNode(oldnode) - elif xml_is_ns_name(rule, NS_ITST, 'externalRefRule'): - if rule.nsProp('selector', None) is not None and rule.nsProp('refPointer', None) is not None: - for node in self._try_xpath_eval(xpath, rule.nsProp('selector', None)): - try: - oldnode = xpath.contextNode() - except: - oldnode = None - xpath.setContextNode(node) - res = self._try_xpath_eval(xpath, rule.nsProp('refPointer', None)) - if len(res) > 0: - self._itst_externals.append((node, res[0].content)) - xpath.setContextNode(oldnode) def apply_its_rules (self, builtins): if builtins: @@ -946,31 +937,6 @@ class Document (object): def generate_messages(self, comments=True): if self._itst_credits is not None: self._msgs.add_credits() - for ext in self._itst_externals: - translate = None - node = ext[0] - translate = self.get_its_translate(node) - if translate == 'no': - continue - msg = Message() - try: - fullfile = os.path.join(os.path.dirname(self._filename), ext[1]) - filefp = open(fullfile) - filemd5 = hashlib.md5(filefp.read()).hexdigest() - filefp.close() - except: - filemd5 = '__failed__' - txt = "external ref='%s' md5='%s'" % (ext[1], filemd5) - msg.set_context('_') - msg.add_text(txt) - msg.add_source('%s:%i' % (self._doc.name, ext[0].lineNo())) - msg.add_marker(ext[0].name) - msg.add_comment(Comment('This is a reference to an external file such as an image or' - ' video. When the file changes, the md5 hash will change to' - ' let you know you need to update your localized copy. The' - ' msgstr is not used at all. Set it to whatever you like' - ' once you have updated your copy of the file.')) - self._msgs.add_message(msg, None) for child in xml_child_iter(self._doc): if child.type == 'element': self.generate_message(child, None, comments=comments) diff --git a/tests/IT-externalRef1.ll.po b/tests/IT-externalRef1.ll.po index 204a58a..eb26d94 100644 --- a/tests/IT-externalRef1.ll.po +++ b/tests/IT-externalRef1.ll.po @@ -9,7 +9,12 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#. (itstool) path: external +#. (itstool) path: doc/p +#: tests/IT-externalRef1.xml:6 +msgid "This is a test of the externalRefRule extension." +msgstr "Ceci est un test de l'extension externalRefRule." + +#. (itstool) path: doc/external #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to @@ -20,11 +25,6 @@ msgid "external ref='IT-externalRef1.txt' md5='9cb75ee59c2c7a70be17c5887517a34b' msgstr "external ref='IT-externalRef1.txt' md5='9cb75ee59c2c7a70be17c5887517a34b'" #. (itstool) path: doc/p -#: tests/IT-externalRef1.xml:6 -msgid "This is a test of the externalRefRule extension." -msgstr "Ceci est un test de l'extension externalRefRule." - -#. (itstool) path: doc/p #: tests/IT-externalRef1.xml:9 msgid "This has been a test." msgstr "Cela a été un test." diff --git a/tests/IT-externalRef1.pot b/tests/IT-externalRef1.pot index f86c901..901b280 100644 --- a/tests/IT-externalRef1.pot +++ b/tests/IT-externalRef1.pot @@ -9,7 +9,12 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#. (itstool) path: external +#. (itstool) path: doc/p +#: tests/IT-externalRef1.xml:6 +msgid "This is a test of the externalRefRule extension." +msgstr "" + +#. (itstool) path: doc/external #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to @@ -20,11 +25,6 @@ msgid "external ref='IT-externalRef1.txt' md5='9cb75ee59c2c7a70be17c5887517a34b' msgstr "" #. (itstool) path: doc/p -#: tests/IT-externalRef1.xml:6 -msgid "This is a test of the externalRefRule extension." -msgstr "" - -#. (itstool) path: doc/p #: tests/IT-externalRef1.xml:9 msgid "This has been a test." msgstr "" |