annotate artifacts/contrib/find-obsolete-i18n-strings.py @ 9650:a2a42a6bac6b

Importer (s/u-info) extensions: outer try/catch for parse and log of line no, catching parsing exception if not enough value fields, parsing error and warning log messages with line number, detecting and rejecting duplicate data series, better differentiation between error and warning log messages
author mschaefer
date Mon, 23 Mar 2020 14:57:03 +0100
parents 26971f97105f
children
rev   line source
7957
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
1 #!/usr/bin/env python
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
2
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
3 import os
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
4 import re
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
5 import sys
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
6
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
7 KEY_RE = re.compile(r"^\s*([^\s=]+)\s*=.*$")
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
8
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
9 def main():
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
10 content = []
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
11 for root, dirs, files in os.walk('.'):
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
12 for f in files:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
13 if not (f.endswith(".java") or f.endswith(".xml")):
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
14 continue
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
15 p = os.path.join(root, f)
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
16 with open(p, "rb") as jf:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
17 content.append(jf.read())
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
18
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
19 content = ''.join(content)
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
20
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
21 for arg in sys.argv[1:]:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
22 with open(arg, "rb") as prop:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
23 for line in prop:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
24 m = KEY_RE.match(line)
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
25 if not m:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
26 continue
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
27 key = m.group(1)
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
28 if content.find(key) == -1:
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
29 print key
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
30
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
31 if __name__ == "__main__":
26971f97105f Added script to find unused i18n in *.java and *.xml files.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff changeset
32 main()

http://dive4elements.wald.intevation.org