Mercurial > dive4elements > river
view artifacts/contrib/check-i18n-properties.py @ 6103:4bbf2ef9bdd8
Themes: Reunited the small parts of default and second theme to default.xml and second.xml again to have valid XML.
This is a bit of a pity because the small parts had a better understandable structure.
To generate the overview use:
$ xsltproc \
contrib/themes2html.xsl \
doc/conf/themes.xml \
> themes.xhtml
To make this work you have to create a symlink in conf to itself:
$ (cd doc/conf && ln -s . conf)
TODO: We have to introduce a EntityResolver in the server code to
make the inclusion independent of the current working dir of the server.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sat, 25 May 2013 20:55:11 +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()