/usr/bin/POFileChecker is in gettext-lint 0.4-2.1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #!/usr/bin/python
# -*- mode: Python; coding: utf-8; -*-
# PO file checker
#
# Pedro Morais <morais@kde.org>
# José Nuno Pires <jncp@netcabo.pt>
# (c) Copyright 2003, 2004
# Distributable under the terms of the GPL - see COPYING
import sys
import getopt
if not "/usr/share/gettext-lint" in sys.path:
sys.path.append("/usr/share/gettext-lint")
import POFile
from util import Output
def usage(code = -1):
w = sys.stderr.write
w('Usage: POFileChecker [OPTION] <FILE>...\n')
w('\n')
w('Options:\n')
w(' -h, --help show this help\n')
w(' -t, --pot pot file mode\n')
w(' -f, --ignore-fuzzy don\'t check fuzzy translations\n')
sys.exit(code)
try:
opts, args = getopt.getopt(sys.argv[1:], "htf",
["help", "pot", "ignore-fuzzy"])
except getopt.GetoptError:
usage()
ignoreFuzzy = 0
potMode = 0
for o, a in opts:
if o in ("-h", "--help"):
usage(0)
if o in ("-f", "--ignore-fuzzy"):
ignoreFuzzy = 1
if o in ("-t", "--pot"):
potMode = 1
if len(args) < 1: usage()
if potMode:
out = Output("pot-file-checker")
for filename in args:
pot = POFile.POTFile(filename)
if pot.parse() == 0:
sys.stderr.write('error parsing file %s\n' % filename)
else:
pot.check()
if len(pot.errors) > 0:
out.opentag('file', {'name': filename})
for l, m, e in pot.errors:
out.opentag('error', {'line': str(l), 'message': str(m)},
body = e, close = 1)
out.closetag()
out.finish()
else:
out = Output("po-file-checker")
for filename in args:
po = POFile.POFile(filename)
if po.parse() == 0:
sys.stderr.write('error parsing file %s\n' % filename)
else:
po.ignoreFuzzy = ignoreFuzzy
po.parseHeader()
po.check()
if po.allowCount == None: po.allowCount = 0
if len(po.errors) != po.allowCount:
out.opentag('file',
{'name': filename, 'allow': str(po.allowCount)})
for l, m, e in po.errors:
out.opentag('error', {'line': str(l), 'message': str(m)},
body = e, close = 1)
out.closetag()
out.finish()
|