summaryrefslogtreecommitdiff
path: root/npybabel.py
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-08-16 12:42:19 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-08-16 12:42:19 +0200
commitbe46b05129b13d70e30056973cdcc143e2728dc7 (patch)
treec0337ecf2a46ba34dc214b5f7f848c7770192612 /npybabel.py
parent5b522f5d062a526b7c065ebe39b1879b20c3cf12 (diff)
[imp] improved qweb scanning function
bzr revid: nicolas.vanhoren@openerp.com-20110816104219-wt0rl0kpfn5rcvz7
Diffstat (limited to 'npybabel.py')
-rwxr-xr-xnpybabel.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/npybabel.py b/npybabel.py
index d2a5553fc80..0c79e5d7d1e 100755
--- a/npybabel.py
+++ b/npybabel.py
@@ -3,12 +3,15 @@
__requires__ = 'Babel==0.9.6'
import sys
from pkg_resources import load_entry_point
+import re
if __name__ == '__main__':
sys.exit(
load_entry_point('Babel==0.9.6', 'console_scripts', 'pybabel')()
)
+QWEB_EXPR = re.compile(r"""(?:\< *t\-tr *\>(.*?)\< *\/t\-tr *\>)|(?:\_t *\( *((?:\".*?\")|(?:\'.*?\')) *\))""")
+
def extract_qweb(fileobj, keywords, comment_tags, options):
"""Extract messages from XXX files.
:param fileobj: the file-like object the messages should be extracted
@@ -23,4 +26,15 @@ def extract_qweb(fileobj, keywords, comment_tags, options):
:rtype: ``iterator``
"""
content = fileobj.read()
- return []
+ found = QWEB_EXPR.finditer(content)
+ result = []
+ index = 0
+ line_nbr = 0
+ for f in found:
+ group = 1 if f.group(1) else 2
+ while index < f.start():
+ if content[index] == "\n":
+ line_nbr += 1
+ index += 1
+ result.append((line_nbr, None, f.group(group), ""))
+ return result