[IMP] remove xmljs extractor from babel conf file (does not work), add note to extractor function
bzr revid: xmo@openerp.com-20120214150718-h12fnjsigna5miar
This commit is contained in:
parent
79ac080fb2
commit
00ff10c0e6
|
@ -1,9 +1,6 @@
|
||||||
|
|
||||||
[extractors]
|
[extractors]
|
||||||
qweb = npybabel:extract_qweb
|
qweb = npybabel:extract_qweb
|
||||||
xmljs = npybabel:extract_xmljs
|
|
||||||
javascript = npybabel:extract_javascript
|
javascript = npybabel:extract_javascript
|
||||||
[javascript: static/src/js/**.js]
|
[javascript: static/src/js/**.js]
|
||||||
[qweb: static/src/xml/**.xml]
|
[qweb: static/src/xml/**.xml]
|
||||||
[xmljs: static/src/xml/**.xml]
|
|
||||||
|
|
||||||
|
|
28
npybabel.py
28
npybabel.py
|
@ -38,6 +38,34 @@ def extract_xmljs(fileobj, keywords, comment_tags, options):
|
||||||
tuples
|
tuples
|
||||||
:rtype: ``iterator``
|
:rtype: ``iterator``
|
||||||
"""
|
"""
|
||||||
|
assert False, """ the XMLJS extractor does not work and was removed:
|
||||||
|
|
||||||
|
* Babel apparently does not accept two extractors for the same set of files
|
||||||
|
so it would not run the xmljs extractor at all, extraction of JS stuff
|
||||||
|
needs to be done from the XML extractor
|
||||||
|
* The regex above fails up if there are back-slashed quotes within the
|
||||||
|
translatable string (the string marked with _t), it just won't match the
|
||||||
|
string
|
||||||
|
* While extraction succeeds on XML entities (e.g. "), translation
|
||||||
|
matching will fail if those entities are kept in the PO msgid as the
|
||||||
|
XML parser will get an un-escaped string, without those entities (so a
|
||||||
|
text extractor will extract ``Found match "%s"``, but the msgid
|
||||||
|
of the PO file must be ``Found match "%s"`` or the translation will fail
|
||||||
|
* single-quoted strings are not valid JSON string, so single-quoted strings
|
||||||
|
matched by the regex (likely since XML attributes are double-quoted,
|
||||||
|
single quotes within them don't have to be escaped) will blow up when
|
||||||
|
json-parsed for their content
|
||||||
|
|
||||||
|
I think that's about it.
|
||||||
|
|
||||||
|
If this extractor is reimplemented, it should be integrated into
|
||||||
|
extract_qweb, either in the current pass (probably not a good idea) or as
|
||||||
|
a separate pass using iterparse, matching either elements with t-js or
|
||||||
|
some other kinds of t-* directives (@t-esc, @t-raw, @t-att, others?),
|
||||||
|
shove the attribute content into a StringIO and pass *that* to Babel's
|
||||||
|
own extract_javascript; then add a line offset in order to yield the
|
||||||
|
correct line number.
|
||||||
|
"""
|
||||||
content = fileobj.read()
|
content = fileobj.read()
|
||||||
found = XMLJS_EXPR.finditer(content)
|
found = XMLJS_EXPR.finditer(content)
|
||||||
index = 0
|
index = 0
|
||||||
|
|
Loading…
Reference in New Issue