Add vocabulary.com web dictionary fix #83
This commit is contained in:
parent
a95dc6af2b
commit
b165b2d30d
38
addons/fastwq/service/dict/vocabulary.py
Normal file
38
addons/fastwq/service/dict/vocabulary.py
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#-*- coding:utf-8 -*-
|
||||||
|
import random
|
||||||
|
from ..base import *
|
||||||
|
|
||||||
|
|
||||||
|
@register(u'Vocabulary.com')
|
||||||
|
class Vocabulary(WebService):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(Vocabulary, self).__init__()
|
||||||
|
|
||||||
|
def _get_from_api(self):
|
||||||
|
data = self.get_response(u'https://www.vocabulary.com/dictionary/{}'.format(self.quote_word))
|
||||||
|
soup = parse_html(data)
|
||||||
|
result = {
|
||||||
|
'short': u'',
|
||||||
|
'long': u'',
|
||||||
|
}
|
||||||
|
|
||||||
|
# short
|
||||||
|
element = soup.find('p', class_='short')
|
||||||
|
if element:
|
||||||
|
result['short'] = u''.join(str(e) for e in element.contents)
|
||||||
|
|
||||||
|
# long
|
||||||
|
element = soup.find('p', class_='long')
|
||||||
|
if element:
|
||||||
|
result['long'] = u''.join(str(e) for e in element.contents)
|
||||||
|
|
||||||
|
return self.cache_this(result)
|
||||||
|
|
||||||
|
@export([u'简短释义', u'Short definition'])
|
||||||
|
def fld_definate(self):
|
||||||
|
return self._get_field('short')
|
||||||
|
|
||||||
|
@export([u'详细释义', u'Long definition'])
|
||||||
|
def fld_example(self):
|
||||||
|
return self._get_field('long')
|
||||||
38
addons21/fastwq/service/dict/vocabulary.py
Normal file
38
addons21/fastwq/service/dict/vocabulary.py
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#-*- coding:utf-8 -*-
|
||||||
|
import random
|
||||||
|
from ..base import *
|
||||||
|
|
||||||
|
|
||||||
|
@register(u'Vocabulary.com')
|
||||||
|
class Vocabulary(WebService):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(Vocabulary, self).__init__()
|
||||||
|
|
||||||
|
def _get_from_api(self):
|
||||||
|
data = self.get_response(u'https://www.vocabulary.com/dictionary/{}'.format(self.quote_word))
|
||||||
|
soup = parse_html(data)
|
||||||
|
result = {
|
||||||
|
'short': u'',
|
||||||
|
'long': u'',
|
||||||
|
}
|
||||||
|
|
||||||
|
# short
|
||||||
|
element = soup.find('p', class_='short')
|
||||||
|
if element:
|
||||||
|
result['short'] = u''.join(str(e) for e in element.contents)
|
||||||
|
|
||||||
|
# long
|
||||||
|
element = soup.find('p', class_='long')
|
||||||
|
if element:
|
||||||
|
result['long'] = u''.join(str(e) for e in element.contents)
|
||||||
|
|
||||||
|
return self.cache_this(result)
|
||||||
|
|
||||||
|
@export([u'简短释义', u'Short definition'])
|
||||||
|
def fld_definate(self):
|
||||||
|
return self._get_field('short')
|
||||||
|
|
||||||
|
@export([u'详细释义', u'Long definition'])
|
||||||
|
def fld_example(self):
|
||||||
|
return self._get_field('long')
|
||||||
Loading…
Reference in New Issue
Block a user