31 lines
864 B
Python
31 lines
864 B
Python
#-*- coding:utf-8 -*-
|
|
|
|
import urllib2
|
|
import json
|
|
from ..base import *
|
|
|
|
|
|
@register(u"Oxford")
|
|
class Oxford(WebService):
|
|
|
|
def __init__(self):
|
|
super(Oxford, self).__init__()
|
|
|
|
def _get_from_api(self, lang="en"):
|
|
word = self.word
|
|
baseurl = "https://od-api.oxforddictionaries.com/api/v1"
|
|
app_id = "45aecf84"
|
|
app_key = "bb36fd6a1259e5baf8df6110a2f7fc8f"
|
|
headers = {"app_id": app_id, "app_key": app_key}
|
|
|
|
word_id = urllib2.quote(word.lower().replace(" ", "_"))
|
|
url = baseurl + "/entries/" + lang + "/" + word_id
|
|
url = urllib2.Request(url, headers=headers)
|
|
response = json.loads(urllib2.urlopen(url).read())
|
|
|
|
return response["results"]
|
|
|
|
@export("Lexical Category")
|
|
def fld_category(self):
|
|
return self._get_from_api()[0]["lexicalEntries"][0]["lexicalCategory"]
|