From 65d29c226f216d4a2d2370a133e7eb566a077d6e Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Wed, 10 Feb 2016 20:10:20 +0000 Subject: Switched to new official urban dictionary API --- bladictionary.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/bladictionary.py b/bladictionary.py index c4dd1d8..42121a4 100755 --- a/bladictionary.py +++ b/bladictionary.py @@ -9,7 +9,7 @@ import sqlite3 import requests from definition import Definition -VERSION = "2.4.4" +VERSION = "2.5.0" def get_xml(word, word_dict): api_url = "http://services.aonaware.com/DictService/DictService.asmx/DefineInDict?dictId="+word_dict+"&word="+word @@ -322,7 +322,7 @@ def parse_urban(word): word = word.replace(" ", "+") try: - r = requests.get("http://urbanscraper.herokuapp.com/search/" + word) + r = requests.get("http://api.urbandictionary.com/v0/define?term=" + word) json = r.json() except: #Should probably print an error, but then that would break printing other definitions, so let's not @@ -330,9 +330,9 @@ def parse_urban(word): items = [] id = 1 - for json_item in json: + for json_item in json['list']: if json_item['definition']: - item = Definition(word, id, "urban", "urban", json_item['definition'], [json_item['example']], [], []) + item = Definition(word, id, "urban", "urban", json_item['definition'], [json_item['example'].replace("\r\n", " ")], [], []) items.append(item) id += 1 @@ -359,17 +359,20 @@ def main(): elif word_dict == "foldoc" or word_type == "tech": items = get_sql(word, "foldoc") elif word_dict == "urban": - print "Urban dictionary API is currently down :(" - sys.exit( 0 ) + items = parse_urban(word) else: if word_dict is None or word_dict == "": word_dict = "wn" items = get_sql(word, "wn") - + foldoc_items = get_sql(word, "foldoc") if foldoc_items is not None and len(foldoc_items) > 0: items += foldoc_items + urban_items = parse_urban(word) + if urban_items is not None and len(urban_items) > 0: + items += urban_items + if items is None or len(items) == 0: print "No definitions found for "+word sys.exit( 1 ) -- cgit v1.2.3