Skip to content

Commit 4d0151f

Browse files
committed
Make google_translate use google_dev_key, @foxlet util/web can do goo.gl
1 parent b074d4d commit 4d0151f

2 files changed

Lines changed: 11 additions & 19 deletions

File tree

plugins/books.py

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,24 @@
11
import requests
2-
import json
32

43
from cloudbot import hook
5-
from cloudbot.util import formatting
4+
from cloudbot.util import formatting, web
65

76
base_url = 'https://www.googleapis.com/books/v1/'
87
book_search_api = base_url + 'volumes?'
98

109

11-
# shrt by petermanser - https://github.com/petermanser/shrt/blob/master/shrt.py
12-
def shrt(url):
13-
r = requests.post('https://www.googleapis.com/urlshortener/v1/url',
14-
data=json.dumps({"longUrl": url}),
15-
headers={'content-type': 'application/json'})
16-
17-
content = json.loads(r.content.decode("UTF-8"))
18-
if r.status_code == 200:
19-
return content['id']
20-
else:
21-
return "%s: %s" % (content['code'], content['message'])
22-
23-
2410
@hook.on_start()
2511
def load_key(bot):
2612
global dev_key
27-
dev_key = bot.config.get("api_keys", {}).get("google_dev_key")
13+
dev_key = bot.config.get("api_keys", {}).get("google_dev_key", None)
2814

2915

3016
@hook.command("books", "gbooks")
3117
def books(text):
3218
"""books <query> -- Searches Google Books for <query>."""
19+
if not dev_key:
20+
return "No Google API key."
21+
3322
json = requests.get(book_search_api, params={"q": text, "key": dev_key}).json()
3423

3524
if 'error' in json:
@@ -58,6 +47,6 @@ def books(text):
5847
except KeyError:
5948
pages = ''
6049

61-
link = shrt(book['infoLink'])
50+
link = web.shorten(book['infoLink'], service="goo.gl")
6251

6352
return "\x02{}\x02 by \x02{}\x02 ({}){} - {} - {}".format(title, author, year, pages, description, link)

plugins/google_translate.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ def goog_trans(api_key, text, source, target):
2525
request = requests.get(url, params=params)
2626
parsed = request.json()
2727

28+
if 'error' in parsed:
29+
return "Google API error."
30+
2831
if not source:
2932
return '(%(detectedSourceLanguage)s) %(translatedText)s' % (parsed['data']['translations'][0])
3033
return '%(translatedText)s' % parsed['data']['translations'][0]
@@ -48,9 +51,9 @@ def translate(text, bot):
4851
"""[source language [target language]] <sentence> - translates <sentence> from source language (default autodetect)
4952
to target language (default English) using Google Translate"""
5053

51-
api_key = bot.config.get("api_keys", {}).get("googletranslate", None)
54+
api_key = bot.config.get("api_keys", {}).get("google_dev_key", None)
5255
if not api_key:
53-
return "This command requires a paid API key."
56+
return "No Google API key."
5457

5558
args = text.split(' ', 2)
5659

0 commit comments

Comments
 (0)