Mercurial > dive4elements > river
view artifacts/contrib/check-i18n-properties.py @ 6456:0624d3a0a63e
Call official lines macro in system context and fixed the macro.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 26 Jun 2013 22:28:42 +0200 |
parents | 5aa05a7a34b7 |
children |
line wrap: on
line source
#!/usr/bin/env python import sys import re SPLIT_RE = re.compile(r"^\s*([^=]+)=\s*(.*)\s*") def load_properties_file(filename): props = {} with open(filename, "r") as f: while True: line = f.readline() if not line: break m = SPLIT_RE.match(line) if not m: continue k = m.group(1).strip() v = m.group(2).strip() if k in props: print >> sys.stderr, "'%s' found more than once in '%s'." % ( k, filename) else: props[k] = v return props def main(): props = [(arg, load_properties_file(arg)) for arg in sys.argv[1:]] l = len(props) for i in range(0, l): a = props[i][1] for j in range(i+1, l): b = props[j][1] for k in a.iterkeys(): if k not in b: print >> sys.stderr, "'%s' found in '%s' but not in '%s'." % ( k, props[i][0], props[j][0]) for k in b.iterkeys(): if k not in a: print >> sys.stderr, "'%s' found in '%s' but not in '%s'." % ( k, props[j][0], props[i][0]) if __name__ == '__main__': main()