From 9d389494f9c8df469676539e3281a547f9133a7b Mon Sep 17 00:00:00 2001 From: Klaus-Uwe Mitterer Date: Tue, 28 Feb 2017 13:53:06 +0100 Subject: [PATCH] Switch to Google Cloud Translate API, improve string handling, remove URLs --- transbot.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/transbot.py b/transbot.py index 442f6cc..1481b9d 100755 --- a/transbot.py +++ b/transbot.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import html.parser, tweepy, os, setuptools, translate, twitools +import html.parser, tweepy, os, setuptools, google.cloud.translate, twitools, re lang = setuptools.getListSetting("Translate", "lang") ato = setuptools.getListSetting("Translate", "ato") @@ -35,15 +35,18 @@ timeline = twitools.twoHelper().search(search, savepoint) tw_counter = 0 er_counter = 0 +translator = google.cloud.translate.Client() + for status in timeline: text = html.parser.HTMLParser().unescape(status.text) - if text[0] == "@": + if text[0] == "@" or text[:4] == "RT @": continue for a in accounts: two = twitools.twObject(ato=a[1], ase=a[2]) - tstring = translate.Translator(from_lang=setuptools.getSetting("Translate", "original"), to_lang=a[0]).translate(text).replace("@", "@​") + intext = re.sub(r'https?:\/\/[\S]*', '', text) + tstring = translator.translate(text, target_language=a[0])['translatedText'].replace("@", "@​") try: two.tweet(tstring[:140])