view flys-artifacts/contrib/check-i18n-properties.py @ 4205:0dd8963cec9c

Set also the width of the GaugeTree when resizing the GaugePanel GWT is no longer able to calculate and set the correct width of the GaugeTree since the GaugeTree is added via a Canvas wrapper. Therefore set the width manually when resizing the GaugeTree.
author Björn Ricks <bjoern.ricks@intevation.de>
date Mon, 22 Oct 2012 15:33:16 +0200
parents daf413420cf7
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