view artifacts/contrib/check-i18n-properties.py @ 8643:999b9ab16738

(issue1754) Handle inverted presentation in BedDifference exporter This als removes dead (would have triggered an exception in pdf export) code to handle beddiff results which are not "BedDiffYearResults"
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 27 Mar 2015 18:59:27 +0100
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()

http://dive4elements.wald.intevation.org