def msgfmt_check_po_file(filename): """ Call GNU msgfmt -c on each .po file to validate its format. Any errors caught by msgfmt are logged to log. """ # Use relative paths to make output less noisy. rfile = os.path.relpath(filename, LOCALE_DIR) out, err = call('msgfmt -c {}'.format(rfile), working_directory=LOCALE_DIR) if err != '': log.info('\n' + out) log.warn('\n' + err)
def msgfmt_check_po_file(locale_dir, filename): """ Call GNU msgfmt -c on each .po file to validate its format. Any errors caught by msgfmt are logged to log. Returns a boolean indicating whether or not problems were found. """ found_problems = False # Use relative paths to make output less noisy. rfile = os.path.relpath(filename, locale_dir) out, err = call('msgfmt -c -o /dev/null {}'.format(rfile), working_directory=locale_dir) if err: log.info(u'\n' + out.decode('utf8')) log.warning(u'\n' + err.decode('utf8')) found_problems = True return found_problems