From 04dabf4803be133ebe073701c950b4474ca1a9ea Mon Sep 17 00:00:00 2001 From: "St.Huang" Date: Thu, 27 Sep 2018 23:02:48 +0800 Subject: [PATCH] Add Definition field to Ludwig dictionary. --- addons/fastwq/service/dict/ludwig.py | 13 +++++++++++++ addons21/fastwq/service/dict/ludwig.py | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/addons/fastwq/service/dict/ludwig.py b/addons/fastwq/service/dict/ludwig.py index 9b16f6f..d9dda2b 100644 --- a/addons/fastwq/service/dict/ludwig.py +++ b/addons/fastwq/service/dict/ludwig.py @@ -14,9 +14,18 @@ class Ludwig(WebService): data = self.get_response(u'https://ludwig.guru/s/{}'.format(self.quote_word)) soup = parse_html(data) result = { + 'def': u'', 'examples': [] } + # def + element = soup.find('div', class_='-id-__definition--1E88I') + if element: + e_list = element.find_all('p') + if e_list: + result['def'] = u''.join(str(c).decode('utf-8') for c in e_list) + + # examples e_list = soup.find_all('p', class_='-id-__exact--SVDfq') if e_list: e_arr = [] @@ -24,6 +33,10 @@ class Ludwig(WebService): e_arr.append(str(n.get_text()).decode('utf-8')) result['examples'] = e_arr return self.cache_this(result) + + @export('DEF') + def fld_definate(self): + return self._get_field('def') @export('EXAMPLE') def fld_example(self): diff --git a/addons21/fastwq/service/dict/ludwig.py b/addons21/fastwq/service/dict/ludwig.py index 8081f4a..20bea29 100644 --- a/addons21/fastwq/service/dict/ludwig.py +++ b/addons21/fastwq/service/dict/ludwig.py @@ -14,9 +14,18 @@ class Ludwig(WebService): data = self.get_response(u'https://ludwig.guru/s/{}'.format(self.quote_word)) soup = parse_html(data) result = { + 'def': u'', 'examples': [] } + # def + element = soup.find('div', class_='-id-__definition--1E88I') + if element: + e_list = element.find_all('p') + if e_list: + result['def'] = u''.join(str(c) for c in e_list) + + # examples e_list = soup.find_all('p', class_='-id-__exact--SVDfq') if e_list: e_arr = [] @@ -24,6 +33,10 @@ class Ludwig(WebService): e_arr.append(str(n.get_text())) result['examples'] = e_arr return self.cache_this(result) + + @export('DEF') + def fld_definate(self): + return self._get_field('def') @export('EXAMPLE') def fld_example(self):