From f50f796efe2bf118b57b52246feabc268ae622b6 Mon Sep 17 00:00:00 2001 From: WorkTimer Date: Wed, 30 Jan 2019 09:30:43 +0800 Subject: [PATCH 1/2] Update youdao.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改 默认音标字段(PHON),由只抓取 美音,改为 既包含英音 也包含美音。 同时增加抓取 英音(BRE_PHON) 和美音(AME_PHON) 字段 --- addons21/fastwq/service/dict/youdao.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/addons21/fastwq/service/dict/youdao.py b/addons21/fastwq/service/dict/youdao.py index bbe5c5b..8c02c10 100644 --- a/addons21/fastwq/service/dict/youdao.py +++ b/addons21/fastwq/service/dict/youdao.py @@ -39,6 +39,8 @@ class Youdao(WebService): '&le={0}&q={1}').format(lang, self.quote_word) result ={ 'phonetic': '', + 'us_phonetic': '', + 'uk_phonetic': '', 'explains':'', } try: @@ -48,18 +50,24 @@ class Youdao(WebService): symbol, uk_symbol, us_symbol = doc.findtext(".//phonetic-symbol"), doc.findtext( ".//uk-phonetic-symbol"), doc.findtext(".//us-phonetic-symbol") if uk_symbol and us_symbol: - #phonetics = 'UK [%s] US [%s]' % (uk_symbol, us_symbol) - phonetics = '/%s/' % (us_symbol) + phonetics = 'UK [%s] US [%s]' % (uk_symbol, us_symbol) + us_phonetics = '/%s/' % us_symbol + uk_phonetics = '/%s/' % uk_symbol + #phonetics = '/%s/' % (us_symbol) elif symbol: phonetics = '/%s/' % symbol + us_phonetics = '' + uk_phonetics = '' else: phonetics = '' + us_phonetics = '' + uk_phonetics = '' # fetch explanations explains = '
'.join([node.text for node in doc.findall( ".//custom-translation/translation/content" )]) - result.update({'phonetic': phonetics, 'explains': explains}) + result.update({'phonetic': phonetics, 'us_phonetic': us_phonetics, 'uk_phonetic': uk_phonetics, 'explains': explains}) except: pass return self.cache_this(result) @@ -68,6 +76,14 @@ class Youdao(WebService): def fld_phonetic(self): return self._get_field('phonetic') + @export('AME_PHON') + def fld_phonetic_us(self): + return self._get_field('us_phonetic') + + @export('BRE_PHON') + def fld_phonetic_uk(self): + return self._get_field('uk_phonetic') + @export([u'基本释义', u'Explanations']) def fld_explains(self): return self._get_field('explains') From 8789cf5dda22dc271519acbfdd8d86dba70c35d2 Mon Sep 17 00:00:00 2001 From: WorkTimer Date: Wed, 30 Jan 2019 09:31:50 +0800 Subject: [PATCH 2/2] Update youdao.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改 默认音标字段(PHON),由只抓取 美音,改为 既包含英音 也包含美音。 同时增加抓取 英音(BRE_PHON) 和美音(AME_PHON) 字段 --- addons/fastwq/service/dict/youdao.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/addons/fastwq/service/dict/youdao.py b/addons/fastwq/service/dict/youdao.py index f6798a4..8c02c10 100644 --- a/addons/fastwq/service/dict/youdao.py +++ b/addons/fastwq/service/dict/youdao.py @@ -39,6 +39,8 @@ class Youdao(WebService): '&le={0}&q={1}').format(lang, self.quote_word) result ={ 'phonetic': '', + 'us_phonetic': '', + 'uk_phonetic': '', 'explains':'', } try: @@ -48,18 +50,24 @@ class Youdao(WebService): symbol, uk_symbol, us_symbol = doc.findtext(".//phonetic-symbol"), doc.findtext( ".//uk-phonetic-symbol"), doc.findtext(".//us-phonetic-symbol") if uk_symbol and us_symbol: - #phonetics = 'UK [%s] US [%s]' % (uk_symbol, us_symbol) - phonetics = '/%s/' % (us_symbol) + phonetics = 'UK [%s] US [%s]' % (uk_symbol, us_symbol) + us_phonetics = '/%s/' % us_symbol + uk_phonetics = '/%s/' % uk_symbol + #phonetics = '/%s/' % (us_symbol) elif symbol: phonetics = '/%s/' % symbol + us_phonetics = '' + uk_phonetics = '' else: phonetics = '' + us_phonetics = '' + uk_phonetics = '' # fetch explanations explains = '
'.join([node.text for node in doc.findall( ".//custom-translation/translation/content" )]) - result.update({'phonetic': phonetics, 'explains': explains}) + result.update({'phonetic': phonetics, 'us_phonetic': us_phonetics, 'uk_phonetic': uk_phonetics, 'explains': explains}) except: pass return self.cache_this(result) @@ -68,6 +76,14 @@ class Youdao(WebService): def fld_phonetic(self): return self._get_field('phonetic') + @export('AME_PHON') + def fld_phonetic_us(self): + return self._get_field('us_phonetic') + + @export('BRE_PHON') + def fld_phonetic_uk(self): + return self._get_field('uk_phonetic') + @export([u'基本释义', u'Explanations']) def fld_explains(self): return self._get_field('explains') @@ -139,7 +155,7 @@ class Youdao(WebService): def fld_blng_sents_part(self): return self._get_singledict('blng_sents_part') - @export([u'原生例句', u'Native examples']) + @export([u'原生例句', u'']) def fld_media_sents_part(self): return self._get_singledict('media_sents_part')