Finish translation implementation
This commit is contained in:
@@ -70,4 +70,5 @@ jobs:
|
||||
VXTWITTER_GIF_CONVERT_API: ${{ secrets.VXTWITTER_GIF_CONVERT_API }}
|
||||
VXTWITTER_WORKAROUND_TOKENS: ${{ secrets.VXTWITTER_WORKAROUND_TOKENS }}
|
||||
VXTWITTER_PROXIES: ${{ secrets.VXTWITTER_PROXIES }}
|
||||
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
|
||||
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
|
||||
DEEPL_API_KEY: ${{ secrets.DEEPL_API_KEY }}
|
||||
+4
-2
@@ -13,7 +13,8 @@ if ('RUNNING_SERVERLESS' in os.environ and os.environ['RUNNING_SERVERLESS'] == '
|
||||
"url": os.getenv("VXTWITTER_URL","https://vxtwitter.com"),
|
||||
"combination_method": os.getenv("VXTWITTER_COMBINATION_METHOD","local"), # can either be 'local' or a URL to a server handling requests in the same format
|
||||
"gifConvertAPI":os.getenv("VXTWITTER_GIF_CONVERT_API",""),
|
||||
"workaroundTokens":os.getenv("VXTWITTER_WORKAROUND_TOKENS",None)
|
||||
"workaroundTokens":os.getenv("VXTWITTER_WORKAROUND_TOKENS",None),
|
||||
"deeplKey":os.getenv("DEEPL_API_KEY",None),
|
||||
}
|
||||
}
|
||||
else:
|
||||
@@ -31,7 +32,8 @@ else:
|
||||
"url": "https://vxtwitter.com",
|
||||
"combination_method": "local", # can either be 'local' or a URL to a server handling requests in the same format
|
||||
"gifConvertAPI":"",
|
||||
"workaroundTokens":None
|
||||
"workaroundTokens":None,
|
||||
"deeplKey":None
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -8,4 +8,5 @@ Werkzeug==2.3.7
|
||||
numerize==0.12
|
||||
oauthlib==3.2.2
|
||||
PyRTF3==0.47.5
|
||||
XClientTransaction==1.0.2
|
||||
XClientTransaction==1.0.2
|
||||
deepl==1.3.0
|
||||
@@ -29,6 +29,7 @@ provider:
|
||||
VXTWITTER_COMBINATION_METHOD: ${env:VXTWITTER_COMBINATION_METHOD, 'local'}
|
||||
VXTWITTER_GIF_CONVERT_API: ${env:VXTWITTER_GIF_CONVERT_API, ''}
|
||||
VXTWITTER_WORKAROUND_TOKENS: ${env:VXTWITTER_WORKAROUND_TOKENS, ''}
|
||||
DEEPL_API_KEY: ${env:DEEPL_API_KEY, ''}
|
||||
#VXTWITTER_PROXIES: ${env:VXTWITTER_PROXIES, ''}
|
||||
|
||||
package:
|
||||
|
||||
+21
-1
@@ -1,7 +1,27 @@
|
||||
import deepl
|
||||
from configHandler import config
|
||||
|
||||
validLanguages = ['AF', 'AN', 'AR', 'AS', 'AY', 'AZ', 'BA', 'BE', 'BG', 'BN', 'BR', 'BS', 'CA', 'CS', 'CY', 'DA', 'DE', 'DE-DE', 'EL', 'EN', 'EO', 'ES', 'ES-419', 'ET', 'EU', 'FA', 'FI', 'FR', 'FR-FR', 'GA', 'GL', 'GN', 'GU', 'HA', 'HE', 'HI', 'HR', 'HT', 'HU', 'HY', 'ID', 'IG', 'IS', 'IT', 'JA', 'JV', 'KA', 'KK', 'KO', 'KY', 'LA', 'LB', 'LN', 'LT', 'LV', 'MG', 'MI', 'MK', 'ML', 'MN', 'MR', 'MS', 'MT', 'MY', 'NB', 'NE', 'NL', 'OC', 'OM', 'PA', 'PL', 'PS', 'PT-BR', 'PT-PT', 'QU', 'RO', 'RU', 'SA', 'SK', 'SL', 'SQ', 'SR', 'ST', 'SU', 'SV', 'SW', 'TA', 'TE', 'TG', 'TH', 'TK', 'TL', 'TN', 'TR', 'TS', 'TT', 'UK', 'UR', 'UZ', 'VI', 'WO', 'XH', 'YI', 'ZH', 'ZH-HANS', 'ZH-HANT', 'ZU']
|
||||
languageAliases = {
|
||||
#"EN":"EN-US",
|
||||
"JP":"JA",
|
||||
}
|
||||
|
||||
mergedLangs=(validLanguages+list(languageAliases.keys()))
|
||||
mergedLangs=(validLanguages+list(languageAliases.keys()))
|
||||
|
||||
def getDeeplTranslation(text,target):
|
||||
target = target.upper()
|
||||
if target == "EN":
|
||||
target = "EN-US"
|
||||
try:
|
||||
if 'deeplKey' not in config["config"] or config["config"]["deeplKey"] == None:
|
||||
return None
|
||||
deepl_client = deepl.Translator(config["config"]["deeplKey"])
|
||||
result = deepl_client.translate_text(text, target_lang=target)
|
||||
return {
|
||||
"text":result.text,
|
||||
"source_language":result.detected_source_lang,
|
||||
"destination_language":target
|
||||
}
|
||||
except Exception as e:
|
||||
return None
|
||||
+1
-1
@@ -290,7 +290,7 @@ def getTweetData(twitter_url,include_txt="false",include_rtf="false",tlLanguage=
|
||||
|
||||
if tweetData["translation"] is None and tlLanguage is not None and tlLanguage != tweetData["lang"]:
|
||||
# translation probably failed on twitter's end
|
||||
pass # TODO: implement DeepL api
|
||||
tweetData["translation"] = translation.getDeeplTranslation(tweetData["text"],tlLanguage)
|
||||
|
||||
if tweetData["translation"] is not None and tlLanguage is None:
|
||||
tweetData["translation"] = None # didn't ask for TL
|
||||
|
||||
Reference in New Issue
Block a user