view artifacts/contrib/find-obsolete-java-files.py @ 8452:b9a8463ac636

(issue1732) When duplication wsplgen artificats fix shapefile layers The shapefile layers are copied but still contained the old names and paths and the wms layer refered to layers from the old artifact. This was broken. Now the old artificat id is replaced by the new artifact id in the mapfiles. Duplication most wsplgen artifacts should now work.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 28 Oct 2014 18:52:35 +0100
parents f799db6b1219
children
line wrap: on
line source
#!/usr/bin/env python

import os
import sys

def main():
    dirs = ['.'] if len(sys.argv) < 2 else sys.argv[1:]

    cnames = []
    for dir in dirs:
        for root, _, files in os.walk(dir):
            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 = jf.read()
                if f.endswith('.xml'):
                    cnames.append(('', content, p))
                else:
                    cname = f[0:-5]
                    cnames.append((cname, content, p))

    for i in range(len(cnames)):
        x = cnames[i]
        cname = x[0]
        if cname == '':
            continue
        found = False
        for j in range(len(cnames)):
            if i == j:
                continue
            if cnames[j][1].find(cname) >= 0:
                found = True
                break
        if not found:
            print cname, x[2]


if __name__ == "__main__":
    main()

http://dive4elements.wald.intevation.org