mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-22 17:10:10 +00:00
langmover: rewrite whole directory when using --extract
--extract now takes a path argument, a new copy of the source folder is made there. Rebuilding the whole folder gets rid of annoying things like mis-capitalized files.
This commit is contained in:
parent
ebdad3f7c7
commit
96c62f556b
@ -74,7 +74,7 @@ def parseKey(langTree, currentSection: str, fieldName: str, key: str, extract=Fa
|
|||||||
return (langTree, folder, value)
|
return (langTree, folder, value)
|
||||||
|
|
||||||
|
|
||||||
def generate(templ: Path, source: Path, output: Path, extract: bool, tree):
|
def generate(templ: Path, source: Path, output: Path, extract: str, tree):
|
||||||
with open(templ, "r") as f:
|
with open(templ, "r") as f:
|
||||||
template = json.load(f)
|
template = json.load(f)
|
||||||
|
|
||||||
@ -92,21 +92,32 @@ def generate(templ: Path, source: Path, output: Path, extract: bool, tree):
|
|||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
modifiedTree = {}
|
|
||||||
folder = ""
|
folder = ""
|
||||||
out[section] = {}
|
out[section] = {}
|
||||||
for key in template[section]:
|
for key in template[section]:
|
||||||
(modifiedTree, folder, val) = parseKey(tree[lang], section, key, template[section][key], extract)
|
(tree[lang], folder, val) = parseKey(tree[lang], section, key, template[section][key], extract)
|
||||||
if val != "":
|
if val != "":
|
||||||
out[section][key] = val
|
out[section][key] = val
|
||||||
|
|
||||||
if extract and val != "":
|
# if extract and val != "":
|
||||||
with open(source / folder / lang, "w") as f:
|
# with open(source / folder / lang, "w") as f:
|
||||||
json.dump(modifiedTree[folder], f, indent=4, ensure_ascii=False)
|
# json.dump(modifiedTree[folder], f, indent=4, ensure_ascii=False)
|
||||||
|
|
||||||
with open(output / Path(lang), "w") as f:
|
with open(output / Path(lang), "w") as f:
|
||||||
json.dump(out, f, indent=4, ensure_ascii=False)
|
json.dump(out, f, indent=4, ensure_ascii=False)
|
||||||
|
|
||||||
|
if extract and extract != "":
|
||||||
|
ex = Path(extract)
|
||||||
|
if not ex.exists():
|
||||||
|
ex.mkdir()
|
||||||
|
|
||||||
|
for lang in tree:
|
||||||
|
for folder in tree[lang]:
|
||||||
|
if not (ex / folder).exists():
|
||||||
|
(ex / folder).mkdir()
|
||||||
|
with open(ex / folder / lang, "w") as f:
|
||||||
|
json.dump(tree[lang][folder], f, indent=4, ensure_ascii=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
@ -114,7 +125,7 @@ parser = argparse.ArgumentParser()
|
|||||||
parser.add_argument("--source", help="source \"lang/\" folder.")
|
parser.add_argument("--source", help="source \"lang/\" folder.")
|
||||||
parser.add_argument("--template", help="template file. see template.json for an example of how it works.")
|
parser.add_argument("--template", help="template file. see template.json for an example of how it works.")
|
||||||
parser.add_argument("--output", help="output directory for new files.")
|
parser.add_argument("--output", help="output directory for new files.")
|
||||||
parser.add_argument("--extract", help="remove strings from original file as they are copied.", action="store_true")
|
parser.add_argument("--extract", help="put copies of original files with strings removed in this directory")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
@ -22,7 +22,9 @@
|
|||||||
"contactDiscord": "common",
|
"contactDiscord": "common",
|
||||||
"theme": "common",
|
"theme": "common",
|
||||||
"refresh": "common",
|
"refresh": "common",
|
||||||
"required": "common"
|
"required": "common",
|
||||||
|
"login": "admin",
|
||||||
|
"logout": "admin"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"errorLoginBlank": "admin",
|
"errorLoginBlank": "admin",
|
||||||
|
Loading…
Reference in New Issue
Block a user