Comments 7
:)
-2
первое что бросилось в глаза… это был вот этот кусок. похожее есть в
if 'lang' in respdetect.keys():
respdetect = respdetect
else:
respdetect = {'code': 200, 'lang': 'en'}
Почему бы не заменить на
if 'lang' not in respdetect.keys():
respdetect = {'code': 200, 'lang': 'en'}
во-вторых, не всегда requests.get вернет объект response из которого можно вытащить json. я бы, все таки, проверил что response code == 200 (или requests.codes.ok
); или использовал response.raise_for_errors()
.
ну и самое интересное — а что произойдет, если clipboard изменится между вызовом detect()
и translate()
? понимаю, что маловероятно, но это race condition. посоветовал бы сохранять состояние клипборда в переменную, а потом уже детектить язык и переводить.
0
В скрипте специально оставлен API ключ?
У него есть лимит бесплатного использования, кроме того любой желающий может получить свой.
У него есть лимит бесплатного использования, кроме того любой желающий может получить свой.
+1
if langtetect != 'ru':
langout = langtetect + '-ru'
else:
langout = 'ru-en'
Зачем так, если можно в одну строку:
langout = 'ru-' + langtetect
А еще лучше так:
langout = 'ru-{}'.format(langtetect)
Или даже так:
langout = f'ru-{langtetect}'
0
Sign up to leave a comment.
Яндекс.переводчик для Linux на Python+GTK3