annotate 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
rev   line source
8192
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
1 #!/usr/bin/env python
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
2
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
3 import os
8196
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
4 import sys
8192
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
5
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
6 def main():
8196
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
7 dirs = ['.'] if len(sys.argv) < 2 else sys.argv[1:]
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
8
8192
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
9 cnames = []
8196
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
10 for dir in dirs:
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
11 for root, _, files in os.walk(dir):
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
12 for f in files:
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
13 if not (f.endswith(".java") or f.endswith('.xml')):
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
14 continue
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
15 p = os.path.join(root, f)
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
16 with open(p, "rb") as jf:
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
17 content = jf.read()
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
18 if f.endswith('.xml'):
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
19 cnames.append(('', content, p))
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
20 else:
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
21 cname = f[0:-5]
f799db6b1219 Find obsolete Java files in more than one project hierachie.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8192
diff changeset
22 cnames.append((cname, content, p))
8192
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
23
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
24 for i in range(len(cnames)):
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
25 x = cnames[i]
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
26 cname = x[0]
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
27 if cname == '':
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
28 continue
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
29 found = False
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
30 for j in range(len(cnames)):
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
31 if i == j:
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
32 continue
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
33 if cnames[j][1].find(cname) >= 0:
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
34 found = True
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
35 break
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
36 if not found:
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
37 print cname, x[2]
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
38
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
39
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
40 if __name__ == "__main__":
adbf980004c0 Add Q'n'D Python script to find obsolete Java files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
41 main()

http://dive4elements.wald.intevation.org