Remove baidu translate (For users privacy)

This commit is contained in:
yoshiko2
2021-01-14 16:44:01 +08:00
parent 62b3097e4e
commit a734725678
4 changed files with 38 additions and 40 deletions

View File

@@ -490,27 +490,27 @@ def translate(
translate_list = [i["trans"] for i in result.json()["sentences"]]
trans_result = trans_result.join(translate_list)
elif engine == "baidu":
url = "https://fanyi-api.baidu.com/api/trans/vip/translate"
salt = random.randint(1, 1435660288)
sign = app_id + src + str(salt) + key
sign = hashlib.md5(sign.encode()).hexdigest()
url += (
"?appid="
+ app_id
+ "&q="
+ src
+ "&from=auto&to="
+ target_language
+ "&salt="
+ str(salt)
+ "&sign="
+ sign
)
result = get_html(url=url, return_type="object")
translate_list = [i["dst"] for i in result.json()["trans_result"]]
trans_result = trans_result.join(translate_list)
# elif engine == "baidu":
# url = "https://fanyi-api.baidu.com/api/trans/vip/translate"
# salt = random.randint(1, 1435660288)
# sign = app_id + src + str(salt) + key
# sign = hashlib.md5(sign.encode()).hexdigest()
# url += (
# "?appid="
# + app_id
# + "&q="
# + src
# + "&from=auto&to="
# + target_language
# + "&salt="
# + str(salt)
# + "&sign="
# + sign
# )
# result = get_html(url=url, return_type="object")
#
# translate_list = [i["dst"] for i in result.json()["trans_result"]]
# trans_result = trans_result.join(translate_list)
elif engine == "azure":
url = "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=" + target_language
headers = {

View File

@@ -37,13 +37,11 @@ switch=0
; 机器翻译
[transalte]
switch=0
;可选项 google-free,baidu,azure
;可选项 google-free,azure
engine=google-free
; 百度翻译app id
appid=
; 百度翻译或azure翻译密钥
; azure翻译密钥
key=
; 翻译延迟用于满足百度不同定价api的QPS要求单位秒http://api.fanyi.baidu.com/product/112
; 翻译延迟
delay=1
values=title,outline

View File

@@ -75,8 +75,8 @@ class Config:
self._exit("extrafanart_folder")
def get_transalte_engine(self) -> str:
return self.conf.get("transalte","engine")
def get_transalte_appId(self) ->str:
return self.conf.get("transalte","appid")
# def get_transalte_appId(self) ->str:
# return self.conf.get("transalte","appid")
def get_transalte_key(self) -> str:
return self.conf.get("transalte","key")
def get_transalte_delay(self) -> int:
@@ -193,7 +193,7 @@ class Config:
conf.add_section(sec8)
conf.set(sec8, "switch", "0")
conf.set(sec8, "engine", "google-free")
conf.set(sec8, "appid", "")
# conf.set(sec8, "appid", "")
conf.set(sec8, "key", "")
conf.set(sec8, "delay", "1")
conf.set(sec8, "values", "title,outline")
@@ -242,7 +242,7 @@ if __name__ == "__main__":
print(config.debug())
print(config.is_transalte())
print(config.get_transalte_engine())
print(config.get_transalte_appId())
# print(config.get_transalte_appId())
print(config.get_transalte_key())
print(config.get_transalte_delay())
print(config.transalte_values())

20
core.py
View File

@@ -231,16 +231,16 @@ def get_data_from_json(file_number, filepath, conf: config.Config): # 从JSON
for translate_value in translate_values:
if json_data[translate_value] == "":
continue
if conf.get_transalte_engine() == "baidu":
json_data[translate_value] = translate(
json_data[translate_value],
target_language="zh",
engine=conf.get_transalte_engine(),
app_id=conf.get_transalte_appId(),
key=conf.get_transalte_key(),
delay=conf.get_transalte_delay(),
)
elif conf.get_transalte_engine() == "azure":
# if conf.get_transalte_engine() == "baidu":
# json_data[translate_value] = translate(
# json_data[translate_value],
# target_language="zh",
# engine=conf.get_transalte_engine(),
# app_id=conf.get_transalte_appId(),
# key=conf.get_transalte_key(),
# delay=conf.get_transalte_delay(),
# )
if conf.get_transalte_engine() == "azure":
json_data[translate_value] = translate(
json_data[translate_value],
target_language="zh-Hans",