view artifacts/contrib/find-obsolete-i18n-strings.py @ 9763:ce7c67445cbb 3.2.x

No more hacks for getting description in case of official lines In case the name contained one and only one number, that number had been returned as description because in that case, the name matched WQ.NUMBERS_PATTERN.
author Tom Gottfried <tom@intevation.de>
date Fri, 11 Nov 2022 18:12:26 +0100
parents 26971f97105f
children
line wrap: on
line source
#!/usr/bin/env python

import os
import re
import sys

KEY_RE = re.compile(r"^\s*([^\s=]+)\s*=.*$")

def main():
    content = []
    for root, dirs, files in os.walk('.'):
        for f in files:
            if not (f.endswith(".java") or f.endswith(".xml")):
                continue
            p = os.path.join(root, f)
            with open(p, "rb") as jf:
                content.append(jf.read())

    content = ''.join(content)

    for arg in sys.argv[1:]:
        with open(arg, "rb") as prop:
            for line in prop:
                m = KEY_RE.match(line)
                if not m:
                    continue
                key = m.group(1)
                if content.find(key) == -1:
                    print key

if __name__ == "__main__":
    main()

http://dive4elements.wald.intevation.org