anki-word-query/src/fastwq/service/dict/oxford.py
2018-07-14 21:21:31 +08:00

32 lines
951 B
Python

#-*- coding:utf-8 -*-
import urllib2
from urllib2 import quote
import json
from aqt.utils import showInfo
from ..base import WebService, export, register, with_styles
@register("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 = 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"]