anki-word-query/src/fastwq/service/LDOCE6.py

85 lines
2.3 KiB
Python
Raw Normal View History

2018-07-01 10:55:30 +08:00
#-*- coding:utf-8 -*-
import re
from aqt.utils import showInfo, showText
from .base import MdxService, export, register, with_styles
path = u'D:\\mdx_server\\mdx\\LDOCE6.mdx'
@register(u'本地词典-LDOCE6')
class Ldoce6(MdxService):
def __init__(self):
2018-07-01 10:55:30 +08:00
super(Ldoce6, self).__init__(path)
@property
def unique(self):
return self.__class__.__name__
@property
def title(self):
return self.__register_label__
@export(u'音标', 1)
def fld_phonetic(self):
html = self.get_html()
m = re.search(r'<span class="pron">(.*?)</span>', html)
if m:
return m.groups()[0]
@export(u'Bre单词发音', 2)
def fld_voicebre(self):
html = self.get_html()
m = re.search(r'<span class="brevoice">(.*?)</span brevoice>', html)
if m:
return m.groups()[0]
return ''
@export(u'Ame单词发音', 3)
def fld_voiceame(self):
html = self.get_html()
m = re.search(r'<span class="amevoice">(.*?)</span amevoice>', html)
if m:
return m.groups()[0]
return ''
@export(u'sentence', 4)
def fld_sentence(self):
html = self.get_html()
m = re.search(r'<span class="example">(.*?)</span example>', html)
if m:
return re.sub('<img.*?png">', '', m.groups()[0])
return ''
@export(u'def', 5)
def fld_definate(self):
html = self.get_html()
m = re.search(r'<span class="def">(.*?)</span def>', html)
if m:
return m.groups()[0]
return ''
@export(u'random_sentence', 6)
def fld_random_sentence(self):
html = self.get_html()
m = re.findall(r'<span class="example">(.*?)</span example>', html)
if m:
number = len(m)
index = random.randrange(0, number - 1, 1)
return re.sub('<img.*?png">', '', m[index])
return ''
@export(u'all sentence', 7)
def fld_allsentence(self):
html = self.get_html()
m = re.findall(
r'(<span class="example">.+?</span example><span class="example_c">.+?</span example_c>)', html)
if m:
items = 0
my_str = ''
for items in range(len(m)):
my_str = my_str + m[items]
return my_str
return ''