28 lines
760 B
Python
28 lines
760 B
Python
|
# coding=utf-8
|
||
|
|
||
|
import json
|
||
|
from urllib.parse import quote
|
||
|
from urllib.request import urlopen
|
||
|
|
||
|
class UrbanDictionnary:
|
||
|
def __init__(self, terms):
|
||
|
self.terms = terms
|
||
|
|
||
|
raw = urlopen("http://api.urbandictionary.com/v0/define?term=%s" % quote(terms), timeout=10)
|
||
|
self.udres = json.loads(raw.read().decode())
|
||
|
|
||
|
@property
|
||
|
def result_type(self):
|
||
|
if self.udres and "result_type" in self.udres:
|
||
|
return self.udres["result_type"]
|
||
|
else:
|
||
|
return ""
|
||
|
|
||
|
@property
|
||
|
def definitions(self):
|
||
|
if self.udres and "list" in self.udres:
|
||
|
for d in self.udres["list"]:
|
||
|
yield d["definition"]
|
||
|
else:
|
||
|
yield "Sorry, no definition found for %s" % self.terms
|