Added support for all Deepl-supported languages
parent
88d1a7e876
commit
796889c077
|
@ -1,3 +1,4 @@
|
||||||
TRANSLATE_API_ENDPOINT_URL = "https://api-free.deepl.com/v2/translate"
|
TRANSLATE_API_ENDPOINT_URL = "https://api-free.deepl.com/v2/translate"
|
||||||
USAGE_API_ENDPOINT_URL = "https://api-free.deepl.com/v2/usage"
|
USAGE_API_ENDPOINT_URL = "https://api-free.deepl.com/v2/usage"
|
||||||
|
LANGUAGES_API_ENDPOINT_URL = "https://api-free.deepl.com/v2/languages"
|
||||||
API_ACCESS_KEY = ""
|
API_ACCESS_KEY = ""
|
||||||
|
|
40
main.py
40
main.py
|
@ -7,7 +7,19 @@ import constants
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
# Impl
|
# Impl
|
||||||
print("[INFO][PREFLIGHT] Initializing translator...")
|
print("[INFO][PREFLIGHT] Initializing translator...", end="")
|
||||||
|
|
||||||
|
availableLanguages = list()
|
||||||
|
params = {
|
||||||
|
"auth_key": constants.API_ACCESS_KEY,
|
||||||
|
"type": "target"
|
||||||
|
}
|
||||||
|
availableLanguagesRequest = requests.get(constants.LANGUAGES_API_ENDPOINT_URL, data=params)
|
||||||
|
responseInJSON = json.loads(str(availableLanguagesRequest.text))
|
||||||
|
|
||||||
|
for arrayMember in responseInJSON:
|
||||||
|
availableLanguages.append(arrayMember["language"])
|
||||||
|
print("done")
|
||||||
|
|
||||||
argumentParser = argparse.ArgumentParser(description="Translate text using Deepl service")
|
argumentParser = argparse.ArgumentParser(description="Translate text using Deepl service")
|
||||||
|
|
||||||
|
@ -23,8 +35,30 @@ def main():
|
||||||
type=str
|
type=str
|
||||||
)
|
)
|
||||||
|
|
||||||
|
argumentParser.add_argument(
|
||||||
|
"--target_lang",
|
||||||
|
help="Language to translate text to",
|
||||||
|
type=str
|
||||||
|
)
|
||||||
|
|
||||||
arguments = argumentParser.parse_args()
|
arguments = argumentParser.parse_args()
|
||||||
|
|
||||||
|
languageIsAvailable = bool(False)
|
||||||
|
for language in availableLanguages:
|
||||||
|
if not arguments.target_lang == language:
|
||||||
|
continue
|
||||||
|
elif arguments.target_lang == language:
|
||||||
|
languageIsAvailable = True
|
||||||
|
break
|
||||||
|
|
||||||
|
if not languageIsAvailable:
|
||||||
|
print("[ERROR][PREFLIGHT] Language {0} is not supported!".format(arguments.target_lang))
|
||||||
|
print("[INFO][TERMINATION] Supported languages are:", end=" ")
|
||||||
|
for language in availableLanguages:
|
||||||
|
print("{0}".format(language), end=" ")
|
||||||
|
print("\n")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
if not os.path.exists(arguments.file):
|
if not os.path.exists(arguments.file):
|
||||||
print("[ERROR][PREFLIGHT] File {0} not found!".format(arguments.file))
|
print("[ERROR][PREFLIGHT] File {0} not found!".format(arguments.file))
|
||||||
exit(1)
|
exit(1)
|
||||||
|
@ -34,7 +68,7 @@ def main():
|
||||||
fileContent = readOnlyFileDescriptor.read()
|
fileContent = readOnlyFileDescriptor.read()
|
||||||
|
|
||||||
params = {
|
params = {
|
||||||
"auth_key": constants.API_ACCESS_KEY,
|
"auth_key": constants.API_ACCESS_KEY
|
||||||
}
|
}
|
||||||
|
|
||||||
print("[INFO][PREFLIGHT] Performing subscription check...", end="")
|
print("[INFO][PREFLIGHT] Performing subscription check...", end="")
|
||||||
|
@ -54,7 +88,7 @@ def main():
|
||||||
params = {
|
params = {
|
||||||
"auth_key": constants.API_ACCESS_KEY,
|
"auth_key": constants.API_ACCESS_KEY,
|
||||||
"text": fileContent,
|
"text": fileContent,
|
||||||
"target_lang": "EN"
|
"target_lang": arguments.target_lang
|
||||||
}
|
}
|
||||||
|
|
||||||
translationRequest = requests.get(constants.TRANSLATE_API_ENDPOINT_URL, data=params)
|
translationRequest = requests.get(constants.TRANSLATE_API_ENDPOINT_URL, data=params)
|
||||||
|
|
Reference in New Issue