Mercurial > dive4elements > river
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() |