mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Handle iterating over source files and finding correct destination file
Contributes to issue CURA-6663.
This commit is contained in:
parent
5a03ace239
commit
3f7bd2ac23
1 changed files with 27 additions and 0 deletions
|
@ -5,6 +5,9 @@ import argparse #To get the source directory from command line arguments.
|
||||||
import os #To find files from the source.
|
import os #To find files from the source.
|
||||||
import os.path #To find files from the source and the destination path.
|
import os.path #To find files from the source and the destination path.
|
||||||
|
|
||||||
|
cura_files = {"cura", "fdmprinter.def.json", "fdmextruder.def.json"}
|
||||||
|
uranium_files = {"uranium"}
|
||||||
|
|
||||||
## Imports translation files from Lionbridge.
|
## Imports translation files from Lionbridge.
|
||||||
#
|
#
|
||||||
# Lionbridge has a bit of a weird export feature. It exports it to the same
|
# Lionbridge has a bit of a weird export feature. It exports it to the same
|
||||||
|
@ -17,6 +20,27 @@ def lionbridge_import(source: str) -> None:
|
||||||
print("Importing to Cura:", destination_cura())
|
print("Importing to Cura:", destination_cura())
|
||||||
print("Importing to Uranium:", destination_uranium())
|
print("Importing to Uranium:", destination_uranium())
|
||||||
|
|
||||||
|
for language in (directory for directory in os.listdir(source) if os.path.isdir(os.path.join(source, directory))):
|
||||||
|
print("================ Processing language:", language, "================")
|
||||||
|
directory = os.path.join(source, language)
|
||||||
|
for file_pot in (file for file in os.listdir(directory) if file.endswith(".pot")):
|
||||||
|
source_file = file_pot[:-4] #Strip extension.
|
||||||
|
if source_file in cura_files:
|
||||||
|
destination_file = os.path.join(destination_cura(), language.replace("-", "_"), source_file + ".po")
|
||||||
|
print("Merging", source_file, "(Cura) into", destination_file)
|
||||||
|
elif source_file in uranium_files:
|
||||||
|
destination_file = os.path.join(destination_uranium(), language.replace("-", "_"), source_file + ".po")
|
||||||
|
print("Merging", source_file, "(Uranium) into", destination_file)
|
||||||
|
else:
|
||||||
|
raise Exception("Unknown file: " + source_file + "... Is this Cura or Uranium?")
|
||||||
|
|
||||||
|
with open(os.path.join(directory, file_pot)) as f:
|
||||||
|
source_str = f.read()
|
||||||
|
with open(destination_file) as f:
|
||||||
|
destination_str = f.read()
|
||||||
|
result = merge(source_str, destination_str)
|
||||||
|
print(result) #DEBUG! Instead we should write this to a file.
|
||||||
|
|
||||||
## Gets the destination path to copy the translations for Cura to.
|
## Gets the destination path to copy the translations for Cura to.
|
||||||
def destination_cura() -> str:
|
def destination_cura() -> str:
|
||||||
return os.path.abspath(os.path.join(__file__, "..", "..", "resources", "i18n"))
|
return os.path.abspath(os.path.join(__file__, "..", "..", "resources", "i18n"))
|
||||||
|
@ -34,6 +58,9 @@ def destination_uranium() -> str:
|
||||||
raise Exception("Can't find Uranium. Please put UM on the PYTHONPATH or put the Uranium folder next to the Cura folder.")
|
raise Exception("Can't find Uranium. Please put UM on the PYTHONPATH or put the Uranium folder next to the Cura folder.")
|
||||||
return os.path.abspath(os.path.join(UM.__file__, "..", "..", "resources", "i18n"))
|
return os.path.abspath(os.path.join(UM.__file__, "..", "..", "resources", "i18n"))
|
||||||
|
|
||||||
|
def merge(source: str, destination: str) -> str:
|
||||||
|
return "TODO"
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
argparser = argparse.ArgumentParser(description = "Import translation files from Lionbridge.")
|
argparser = argparse.ArgumentParser(description = "Import translation files from Lionbridge.")
|
||||||
argparser.add_argument("source")
|
argparser.add_argument("source")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue