aboutsummaryrefslogtreecommitdiff
path: root/i18nfix.py
blob: b0395507e6c505609367cb2a1971a17c5cae66be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python3
# This file is in the public domain.

"""
Extract translations from a Jinja2 template, stripping leading newlines.

@author Florian Dold
"""

import jinja2.ext
import re

r = re.compile(r"\n[ \t]+")

def babel_extract(fileobj, keywords, comment_tags, options):
    res = jinja2.ext.babel_extract(fileobj, keywords, comment_tags, options)
    for lineno, funcname, message, comments in res:
        message = message.lstrip()
        message = r.sub("\n", message)
        yield lineno, funcname, message, comments