annotate artifacts/contrib/find-obsolete-java-files.py @ 9777:f98e5c7775d2 3.2.x

Do not rely on scripts being executable
author Tom Gottfried <tom@intevation.de>
date Fri, 20 Jan 2023 12:22:24 +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