anki-word-query/addons/fastwq/service/dict/oxford.py

31 lines
864 B
Python
Raw Normal View History

2018-07-01 10:55:30 +08:00
#-*- coding:utf-8 -*-
2018-07-30 17:42:14 +08:00
2018-07-01 10:55:30 +08:00
import urllib2
import json
2018-07-30 17:42:14 +08:00
from ..base import *
2018-07-01 10:55:30 +08:00
2018-07-30 17:42:14 +08:00
@register(u"Oxford")
2018-07-01 10:55:30 +08:00
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}
2018-07-30 17:42:14 +08:00
word_id = urllib2.quote(word.lower().replace(" ", "_"))
2018-07-01 10:55:30 +08:00
url = baseurl + "/entries/" + lang + "/" + word_id
url = urllib2.Request(url, headers=headers)
response = json.loads(urllib2.urlopen(url).read())
return response["results"]
2018-07-13 22:08:35 +08:00
@export("Lexical Category")
def fld_category(self):
2018-07-01 10:55:30 +08:00
return self._get_from_api()[0]["lexicalEntries"][0]["lexicalCategory"]