kopia lustrzana https://github.com/OpenDroneMap/WebODM
37 wiersze
1.3 KiB
Python
37 wiersze
1.3 KiB
Python
#!/usr/bin/python3
|
|
|
|
import json, os, glob
|
|
|
|
def extract_plugin_manifest_strings(plugins_dir, output):
|
|
strings = []
|
|
manifests = glob.glob(os.path.join(plugins_dir, "*", "manifest.json"), recursive=True)
|
|
print("Found %s manifests" % len(manifests))
|
|
|
|
for m in manifests:
|
|
with open(m) as f:
|
|
j = json.loads(f.read())
|
|
if j.get("description"):
|
|
strings.append(j.get("description"))
|
|
|
|
print("Found %s manifest strings" % len(strings))
|
|
if len(strings) > 0:
|
|
with open(output, "w") as f:
|
|
f.write("// Auto-generated with extract_plugin_manifest_strings.py, do not edit!\n\n")
|
|
f.write("from django.utils.translation import gettext as _\n")
|
|
|
|
for s in strings:
|
|
f.write("_(\"%s\")\n" % s.replace("\"", "\\\""))
|
|
|
|
print("Wrote %s" % output)
|
|
else:
|
|
print("No strings found")
|
|
|
|
if __name__ == "__main__":
|
|
import argparse
|
|
parser = argparse.ArgumentParser(description='Extract plugin manifest strings.')
|
|
parser.add_argument('input', type=str,
|
|
help='Path to plugins directory')
|
|
parser.add_argument('output', type=str,
|
|
help='Where to write resulting translation file')
|
|
args = parser.parse_args()
|
|
extract_plugin_manifest_strings(args.input, args.output) |