view artifacts/contrib/find-obsolete-java-files.py @ 8682:5102733c4567

issue1755 Prevent out of bounds access when there is no data If there is no data it will default to the complete river. In the following overview you can then see that there is no data. Better then a "Error changing state".
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 13 Apr 2015 11:03:00 +0200
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