Updated language statistics script to not use the shell
This commit is contained in:
parent
728ee98cd3
commit
b679b5b8f2
|
@ -119,16 +119,21 @@ def lang_stats(resources=None, languages=None):
|
||||||
if languages and lang not in languages:
|
if languages and lang not in languages:
|
||||||
continue
|
continue
|
||||||
# TODO: merge first with the latest en catalog
|
# TODO: merge first with the latest en catalog
|
||||||
p = Popen("msgfmt -vc -o /dev/null %(path)s/%(lang)s/LC_MESSAGES/django%(ext)s.po" % {
|
po_path = '{path}/{lang}/LC_MESSAGES/django{ext}.po'.format(
|
||||||
'path': dir_, 'lang': lang, 'ext': 'js' if name.endswith('-js') else ''},
|
path=dir_, lang=lang, ext='js' if name.endswith('-js') else ''
|
||||||
stdout=PIPE, stderr=PIPE, shell=True)
|
)
|
||||||
|
p = Popen(
|
||||||
|
['msgfmt', '-vc', '-o', '/dev/null', po_path],
|
||||||
|
stdout=PIPE, stderr=PIPE,
|
||||||
|
env={'LANG': 'C'}
|
||||||
|
)
|
||||||
output, errors = p.communicate()
|
output, errors = p.communicate()
|
||||||
if p.returncode == 0:
|
if p.returncode == 0:
|
||||||
# msgfmt output stats on stderr
|
# msgfmt output stats on stderr
|
||||||
print("%s: %s" % (lang, errors.strip()))
|
print("%s: %s" % (lang, errors.decode().strip()))
|
||||||
else:
|
else:
|
||||||
print("Errors happened when checking %s translation for %s:\n%s" % (
|
print("Errors happened when checking %s translation for %s:\n%s" % (
|
||||||
lang, name, errors))
|
lang, name, errors.decode()))
|
||||||
|
|
||||||
|
|
||||||
def fetch(resources=None, languages=None):
|
def fetch(resources=None, languages=None):
|
||||||
|
|
Loading…
Reference in New Issue