commit
b3da589ac8
@ -29,7 +29,7 @@ class oalecd9_mdx(MdxService):
|
|||||||
service = service_pool.get(clazz.__unique__)
|
service = service_pool.get(clazz.__unique__)
|
||||||
title = service.builder._title if service and service.support else u''
|
title = service.builder._title if service and service.support else u''
|
||||||
service_pool.put(service)
|
service_pool.put(service)
|
||||||
if title.startswith(u'牛津高阶'):
|
if title.startswith(u'牛津高阶英汉双解词典'):
|
||||||
dict_path = service.dict_path
|
dict_path = service.dict_path
|
||||||
break
|
break
|
||||||
super(oalecd9_mdx, self).__init__(dict_path)
|
super(oalecd9_mdx, self).__init__(dict_path)
|
||||||
@ -41,9 +41,19 @@ class oalecd9_mdx(MdxService):
|
|||||||
def _fld_voice(self, html, voice):
|
def _fld_voice(self, html, voice):
|
||||||
"""获取发音字段"""
|
"""获取发音字段"""
|
||||||
for regexp in LANG_TO_REGEXPS[voice]:
|
for regexp in LANG_TO_REGEXPS[voice]:
|
||||||
match = regexp.search(html)
|
original_word = self.word
|
||||||
|
if html.startswith('@@@LINK='):
|
||||||
|
self.word = html[8:]
|
||||||
|
html = self.get_html()
|
||||||
|
match = regexp.findall(html)
|
||||||
if match:
|
if match:
|
||||||
val = '/' + match.group(1)
|
selected_voice = match[0]
|
||||||
|
for voice in match:
|
||||||
|
if original_word in voice:
|
||||||
|
selected_voice = voice
|
||||||
|
break
|
||||||
|
self.word = original_word
|
||||||
|
val = '/' + selected_voice
|
||||||
name = get_hex_name('mdx-'+self.unique.lower(), val, 'mp3')
|
name = get_hex_name('mdx-'+self.unique.lower(), val, 'mp3')
|
||||||
name = self.save_file(val, name)
|
name = self.save_file(val, name)
|
||||||
if name:
|
if name:
|
||||||
@ -95,28 +105,35 @@ class oalecd9_mdx(MdxService):
|
|||||||
us_sound = None
|
us_sound = None
|
||||||
en_text = cn_text = ''
|
en_text = cn_text = ''
|
||||||
for sound in sounds:
|
for sound in sounds:
|
||||||
if sound.find('audio-gbs-liju'):
|
if sound.find(['audio-gbs-liju','audio-brs-liju']):
|
||||||
br_sound = sound['href'][7:]
|
br_sound = sound['href'][7:]
|
||||||
elif sound.find('audio-uss-liju'):
|
elif sound.find(['audio-uss-liju','audio-ams-liju']):
|
||||||
us_sound = sound['href'][7:]
|
us_sound = sound['href'][7:]
|
||||||
en_text = element.x['wd']
|
try:
|
||||||
cn_text = element.chn.contents[1]
|
en_text = element.x['wd']
|
||||||
|
cn_text = element.x.chn.contents[1]
|
||||||
|
except:
|
||||||
|
continue
|
||||||
if us_sound: # I mainly use us_sound
|
if us_sound: # I mainly use us_sound
|
||||||
maps.append([br_sound, us_sound,en_text,cn_text])
|
maps.append([br_sound, us_sound,en_text,cn_text])
|
||||||
|
|
||||||
my_str = ''
|
my_str = ''
|
||||||
range_arr = range_arr if range_arr else [random.randrange(0, len(maps) - 1, 1)]
|
range_arr = range_arr if range_arr else [random.randrange(0, len(maps) - 1, 1)]
|
||||||
for i, e in enumerate(maps):
|
if maps:
|
||||||
if i in range_arr:
|
for i, e in enumerate(maps):
|
||||||
br_sound = e[0]
|
if i in range_arr:
|
||||||
us_sound = e[1]
|
br_sound = e[0]
|
||||||
en_text = e[2]
|
us_sound = e[1]
|
||||||
cn_text = e[3]
|
en_text = e[2]
|
||||||
us_mp3 = self._fld_audio(us_sound)
|
cn_text = e[3]
|
||||||
# if br_sound != 'None':
|
us_mp3 = self._fld_audio(us_sound)
|
||||||
# br_mp3 = self._fld_audio(br_sound)
|
if br_sound != 'None':
|
||||||
# please modify the code here to get br_mp3
|
br_mp3 = self._fld_audio(br_sound)
|
||||||
# my_str = my_str + br_mp3 + ' ' + en_text + cn_text + '<br>'
|
else:
|
||||||
my_str = my_str + us_mp3 + ' ' + en_text + cn_text + '<br>'
|
br_mp3 = ''
|
||||||
|
# please modify the code here to get br_mp3
|
||||||
|
# my_str = my_str + br_mp3 + ' ' + en_text + cn_text + '<br>'
|
||||||
|
# my_str = my_str + us_mp3 + en_text + cn_text + '<br>'
|
||||||
|
my_str = my_str + br_mp3 + us_mp3 + en_text + cn_text + '<br>'
|
||||||
return my_str
|
return my_str
|
||||||
return ''
|
return ''
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user