Updated language statistics script to not use the shell

This commit is contained in:
Claude Paroz 2018-08-31 14:18:04 +02:00
parent 728ee98cd3
commit b679b5b8f2
1 changed files with 10 additions and 5 deletions

View File

@ -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):