eric6/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py

changeset 7256
4ef3b78ebb4e
parent 7229
53054eb5b15a
child 7360
9190402e4505
equal deleted inserted replaced
7255:d595f6f9cbf8 7256:4ef3b78ebb4e
91 return self.tr("A valid Yandex key is required."), False 91 return self.tr("A valid Yandex key is required."), False
92 92
93 params = QByteArray( 93 params = QByteArray(
94 "key={0}&lang={1}-{2}&text=".format( 94 "key={0}&lang={1}-{2}&text=".format(
95 apiKey, originalLanguage, translationLanguage).encode("utf-8")) 95 apiKey, originalLanguage, translationLanguage).encode("utf-8"))
96 encodedText = QByteArray(Utilities.html_encode(text).encode("utf-8"))\ 96 encodedText = (
97 QByteArray(Utilities.html_encode(text).encode("utf-8"))
97 .toPercentEncoding() 98 .toPercentEncoding()
99 )
98 request = params + encodedText 100 request = params + encodedText
99 response, ok = requestObject.post(QUrl(self.TranslatorUrl), request) 101 response, ok = requestObject.post(QUrl(self.TranslatorUrl), request)
100 if ok: 102 if ok:
101 try: 103 try:
102 responseDict = json.loads(response) 104 responseDict = json.loads(response)
105 107
106 if responseDict["code"] != 200: 108 if responseDict["code"] != 200:
107 try: 109 try:
108 error = self.__errors[responseDict["code"]] 110 error = self.__errors[responseDict["code"]]
109 except KeyError: 111 except KeyError:
110 error = self.tr("Unknown error code ({0}) received.")\ 112 error = self.tr(
111 .format(responseDict["code"]) 113 "Unknown error code ({0}) received."
114 ).format(responseDict["code"])
112 return error, False 115 return error, False
113 116
114 sentences = responseDict["text"] 117 sentences = responseDict["text"]
115 result = "" 118 result = ""
116 for sentence in sentences: 119 for sentence in sentences:

eric ide

mercurial