Spaces:
Running
Running
Commit
·
67fd182
1
Parent(s):
b7b11ce
Upload utils.py
Browse files
utils.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json, os
|
| 2 |
+
from tencentcloud.common import credential
|
| 3 |
+
from tencentcloud.common.profile.client_profile import ClientProfile
|
| 4 |
+
from tencentcloud.common.profile.http_profile import HttpProfile
|
| 5 |
+
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
|
| 6 |
+
from tencentcloud.tmt.v20180321 import tmt_client, models
|
| 7 |
+
|
| 8 |
+
def get_tmt_client():
|
| 9 |
+
try:
|
| 10 |
+
# 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
|
| 11 |
+
# 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
|
| 12 |
+
# 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
|
| 13 |
+
SecretId = os.environ.get("TENCENTCLOUD_SECRET_ID")
|
| 14 |
+
SecretKey = os.environ.get("TENCENTCLOUD_SECRET_KEY")
|
| 15 |
+
cred = credential.Credential(SecretId, SecretKey)
|
| 16 |
+
# 实例化一个http选项,可选的,没有特殊需求可以跳过
|
| 17 |
+
httpProfile = HttpProfile()
|
| 18 |
+
httpProfile.endpoint = "tmt.tencentcloudapi.com"
|
| 19 |
+
|
| 20 |
+
# 实例化一个client选项,可选的,没有特殊需求可以跳过
|
| 21 |
+
clientProfile = ClientProfile()
|
| 22 |
+
clientProfile.httpProfile = httpProfile
|
| 23 |
+
# 实例化要请求产品的client对象,clientProfile是可选的
|
| 24 |
+
client = tmt_client.TmtClient(cred, "ap-shanghai", clientProfile)
|
| 25 |
+
print(f'client_{client}')
|
| 26 |
+
return client
|
| 27 |
+
except TencentCloudSDKException as err:
|
| 28 |
+
print(f'client_err_{err}')
|
| 29 |
+
return None
|
| 30 |
+
|
| 31 |
+
def getTextTrans_tmt(tmt_client, text, source='zh', target='en'):
|
| 32 |
+
def is_chinese(string):
|
| 33 |
+
for ch in string:
|
| 34 |
+
if u'\u4e00' <= ch <= u'\u9fff':
|
| 35 |
+
return True
|
| 36 |
+
return False
|
| 37 |
+
|
| 38 |
+
if tmt_client is None:
|
| 39 |
+
return text
|
| 40 |
+
if not is_chinese(text) and target == 'en':
|
| 41 |
+
return text
|
| 42 |
+
try:
|
| 43 |
+
req = models.TextTranslateRequest()
|
| 44 |
+
params = {
|
| 45 |
+
"SourceText": text,
|
| 46 |
+
"Source": source,
|
| 47 |
+
"Target": target,
|
| 48 |
+
"ProjectId": 0
|
| 49 |
+
}
|
| 50 |
+
req.from_json_string(json.dumps(params))
|
| 51 |
+
resp = tmt_client.TextTranslate(req)
|
| 52 |
+
return resp.TargetText
|
| 53 |
+
except Exception as e:
|
| 54 |
+
return text
|