From d7e01295f4626db3880392b36dab71c54be4cfc2 Mon Sep 17 00:00:00 2001 From: "St.Huang" Date: Sat, 14 Jul 2018 21:21:31 +0800 Subject: [PATCH] refactoring --- src/fastwq/service/{ => dict}/LDOCE6.py | 2 +- src/fastwq/service/dict/__init__.py | 0 src/fastwq/service/{ => dict}/baicizhan.py | 2 +- src/fastwq/service/{ => dict}/baidu_chinese.py | 2 +- src/fastwq/service/{ => dict}/bing.py | 2 +- src/fastwq/service/{ => dict}/bing3tp.py | 2 +- src/fastwq/service/{ => dict}/esdict.py | 2 +- src/fastwq/service/{ => dict}/frdic.py | 2 +- src/fastwq/service/{ => dict}/iciba.py | 4 ++-- src/fastwq/service/{ => dict}/longman.py | 4 ++-- src/fastwq/service/{ => dict}/minidict.py | 2 +- src/fastwq/service/{ => dict}/oxford.py | 2 +- src/fastwq/service/{ => dict}/oxford_learning.py | 4 ++-- src/fastwq/service/{ => dict}/remotemdx.py | 2 +- src/fastwq/service/{ => dict}/txt.py | 2 +- src/fastwq/service/{ => dict}/youdao.py | 2 +- src/fastwq/service/{ => dict}/youdaofr.py | 2 +- src/fastwq/service/{ => dict}/youdaoko.py | 2 +- src/fastwq/service/manager.py | 11 +++++++---- 19 files changed, 27 insertions(+), 24 deletions(-) rename src/fastwq/service/{ => dict}/LDOCE6.py (97%) create mode 100644 src/fastwq/service/dict/__init__.py rename src/fastwq/service/{ => dict}/baicizhan.py (98%) rename src/fastwq/service/{ => dict}/baidu_chinese.py (98%) rename src/fastwq/service/{ => dict}/bing.py (98%) rename src/fastwq/service/{ => dict}/bing3tp.py (98%) rename src/fastwq/service/{ => dict}/esdict.py (98%) rename src/fastwq/service/{ => dict}/frdic.py (98%) rename src/fastwq/service/{ => dict}/iciba.py (98%) rename src/fastwq/service/{ => dict}/longman.py (98%) rename src/fastwq/service/{ => dict}/minidict.py (99%) rename src/fastwq/service/{ => dict}/oxford.py (93%) rename src/fastwq/service/{ => dict}/oxford_learning.py (98%) rename src/fastwq/service/{ => dict}/remotemdx.py (97%) rename src/fastwq/service/{ => dict}/txt.py (90%) rename src/fastwq/service/{ => dict}/youdao.py (98%) rename src/fastwq/service/{ => dict}/youdaofr.py (97%) rename src/fastwq/service/{ => dict}/youdaoko.py (97%) diff --git a/src/fastwq/service/LDOCE6.py b/src/fastwq/service/dict/LDOCE6.py similarity index 97% rename from src/fastwq/service/LDOCE6.py rename to src/fastwq/service/dict/LDOCE6.py index e238926..618be01 100644 --- a/src/fastwq/service/LDOCE6.py +++ b/src/fastwq/service/dict/LDOCE6.py @@ -1,7 +1,7 @@ #-*- coding:utf-8 -*- import re import FastWQ -from .base import MdxService, export, register, with_styles, parse_html +from ..base import MdxService, export, register, with_styles, parse_html PATH = FastWQ.LDOCE6_PATH diff --git a/src/fastwq/service/dict/__init__.py b/src/fastwq/service/dict/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/fastwq/service/baicizhan.py b/src/fastwq/service/dict/baicizhan.py similarity index 98% rename from src/fastwq/service/baicizhan.py rename to src/fastwq/service/dict/baicizhan.py index e307f62..d54a913 100644 --- a/src/fastwq/service/baicizhan.py +++ b/src/fastwq/service/dict/baicizhan.py @@ -2,7 +2,7 @@ import json import os from collections import defaultdict -from .base import WebService, export, register +from ..base import WebService, export, register @register([u'百词斩', u'Baicizhan']) diff --git a/src/fastwq/service/baidu_chinese.py b/src/fastwq/service/dict/baidu_chinese.py similarity index 98% rename from src/fastwq/service/baidu_chinese.py rename to src/fastwq/service/dict/baidu_chinese.py index 8e3e71d..580d104 100644 --- a/src/fastwq/service/baidu_chinese.py +++ b/src/fastwq/service/dict/baidu_chinese.py @@ -1,6 +1,6 @@ #-*- coding:utf-8 -*- from hashlib import sha1 -from .base import WebService, export, register, with_styles, parse_html +from ..base import WebService, export, register, with_styles, parse_html baidu_download_mp3 = True diff --git a/src/fastwq/service/bing.py b/src/fastwq/service/dict/bing.py similarity index 98% rename from src/fastwq/service/bing.py rename to src/fastwq/service/dict/bing.py index 702e7ff..fcfb209 100644 --- a/src/fastwq/service/bing.py +++ b/src/fastwq/service/dict/bing.py @@ -1,6 +1,6 @@ #-*- coding:utf-8 -*- import re -from .base import WebService, export, register, with_styles, parse_html +from ..base import WebService, export, register, with_styles, parse_html bing_download_mp3 = True diff --git a/src/fastwq/service/bing3tp.py b/src/fastwq/service/dict/bing3tp.py similarity index 98% rename from src/fastwq/service/bing3tp.py rename to src/fastwq/service/dict/bing3tp.py index 4cc60fe..a33d6d6 100644 --- a/src/fastwq/service/bing3tp.py +++ b/src/fastwq/service/dict/bing3tp.py @@ -1,7 +1,7 @@ #-*- coding:utf-8 -*- import json import re -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles bing_download_mp3 = True diff --git a/src/fastwq/service/esdict.py b/src/fastwq/service/dict/esdict.py similarity index 98% rename from src/fastwq/service/esdict.py rename to src/fastwq/service/dict/esdict.py index 2d86081..ab7ef11 100644 --- a/src/fastwq/service/esdict.py +++ b/src/fastwq/service/dict/esdict.py @@ -6,7 +6,7 @@ import urllib2 from aqt.utils import showInfo from BeautifulSoup import BeautifulSoup -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles # Anki buit-in BeautifulSoup is bs3 not bs4 diff --git a/src/fastwq/service/frdic.py b/src/fastwq/service/dict/frdic.py similarity index 98% rename from src/fastwq/service/frdic.py rename to src/fastwq/service/dict/frdic.py index 9165646..a36eb45 100644 --- a/src/fastwq/service/frdic.py +++ b/src/fastwq/service/dict/frdic.py @@ -7,7 +7,7 @@ import urllib2 from aqt.utils import showInfo from BeautifulSoup import BeautifulSoup -from .base import WebService, export, with_styles, register +from ..base import WebService, export, with_styles, register # Anki buit-in BeautifulSoup is bs3 not bs4 diff --git a/src/fastwq/service/iciba.py b/src/fastwq/service/dict/iciba.py similarity index 98% rename from src/fastwq/service/iciba.py rename to src/fastwq/service/dict/iciba.py index 24bcba4..2a279fc 100644 --- a/src/fastwq/service/iciba.py +++ b/src/fastwq/service/dict/iciba.py @@ -6,8 +6,8 @@ import json from collections import defaultdict from aqt.utils import showInfo, showText -from .base import WebService, export, with_styles, register -from ..utils import ignore_exception +from ..base import WebService, export, with_styles, register +from ...utils import ignore_exception iciba_download_mp3 = True diff --git a/src/fastwq/service/longman.py b/src/fastwq/service/dict/longman.py similarity index 98% rename from src/fastwq/service/longman.py rename to src/fastwq/service/dict/longman.py index 1c82470..5d38eeb 100644 --- a/src/fastwq/service/longman.py +++ b/src/fastwq/service/dict/longman.py @@ -8,9 +8,9 @@ Created: 12/20/2017 """ import os from warnings import filterwarnings -from ..libs.bs4 import BeautifulSoup, Tag +from ...libs.bs4 import BeautifulSoup, Tag -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles filterwarnings('ignore') import sys diff --git a/src/fastwq/service/minidict.py b/src/fastwq/service/dict/minidict.py similarity index 99% rename from src/fastwq/service/minidict.py rename to src/fastwq/service/dict/minidict.py index 1a1d379..1b29021 100644 --- a/src/fastwq/service/minidict.py +++ b/src/fastwq/service/dict/minidict.py @@ -4,7 +4,7 @@ import re import urllib from aqt.utils import showInfo, showText -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles @register(u'海词迷你词典') diff --git a/src/fastwq/service/oxford.py b/src/fastwq/service/dict/oxford.py similarity index 93% rename from src/fastwq/service/oxford.py rename to src/fastwq/service/dict/oxford.py index 09a1c8c..7fc3a69 100644 --- a/src/fastwq/service/oxford.py +++ b/src/fastwq/service/dict/oxford.py @@ -3,7 +3,7 @@ import urllib2 from urllib2 import quote import json from aqt.utils import showInfo -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles @register("Oxford") diff --git a/src/fastwq/service/oxford_learning.py b/src/fastwq/service/dict/oxford_learning.py similarity index 98% rename from src/fastwq/service/oxford_learning.py rename to src/fastwq/service/dict/oxford_learning.py index b7c589d..9c82798 100644 --- a/src/fastwq/service/oxford_learning.py +++ b/src/fastwq/service/dict/oxford_learning.py @@ -1,7 +1,7 @@ # coding=utf-8 #from warnings import filterwarnings -from ..libs.bs4 import Tag -from .base import WebService, export, register, with_styles, parse_html +from ...libs.bs4 import Tag +from ..base import WebService, export, register, with_styles, parse_html #filterwarnings('ignore') diff --git a/src/fastwq/service/remotemdx.py b/src/fastwq/service/dict/remotemdx.py similarity index 97% rename from src/fastwq/service/remotemdx.py rename to src/fastwq/service/dict/remotemdx.py index 8637bd3..873d5ef 100644 --- a/src/fastwq/service/remotemdx.py +++ b/src/fastwq/service/dict/remotemdx.py @@ -26,7 +26,7 @@ import urlparse from collections import defaultdict from aqt.utils import showInfo, showText -from .base import QueryResult, WebService, export, register, with_styles +from ..base import QueryResult, WebService, export, register, with_styles @register('MDX_SERVER') diff --git a/src/fastwq/service/txt.py b/src/fastwq/service/dict/txt.py similarity index 90% rename from src/fastwq/service/txt.py rename to src/fastwq/service/dict/txt.py index e7bd242..c7ad193 100644 --- a/src/fastwq/service/txt.py +++ b/src/fastwq/service/dict/txt.py @@ -2,7 +2,7 @@ import re from aqt.utils import showInfo, showText -from .base import LocalService, export, register, with_styles +from ..base import LocalService, export, register, with_styles path = u'D:\\dicts\\LDOCE\\d.txt' diff --git a/src/fastwq/service/youdao.py b/src/fastwq/service/dict/youdao.py similarity index 98% rename from src/fastwq/service/youdao.py rename to src/fastwq/service/dict/youdao.py index d7f1129..92f1d18 100644 --- a/src/fastwq/service/youdao.py +++ b/src/fastwq/service/dict/youdao.py @@ -4,7 +4,7 @@ import urllib2 import xml.etree.ElementTree from aqt.utils import showInfo -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles js = ''' var initVoice = function () { diff --git a/src/fastwq/service/youdaofr.py b/src/fastwq/service/dict/youdaofr.py similarity index 97% rename from src/fastwq/service/youdaofr.py rename to src/fastwq/service/dict/youdaofr.py index 8f7302a..9751f70 100644 --- a/src/fastwq/service/youdaofr.py +++ b/src/fastwq/service/dict/youdaofr.py @@ -4,7 +4,7 @@ import urllib2 import xml.etree.ElementTree from aqt.utils import showInfo -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles @register([u'有道词典-法语', u'Youdao-French']) diff --git a/src/fastwq/service/youdaoko.py b/src/fastwq/service/dict/youdaoko.py similarity index 97% rename from src/fastwq/service/youdaoko.py rename to src/fastwq/service/dict/youdaoko.py index bd17a98..32bb79e 100644 --- a/src/fastwq/service/youdaoko.py +++ b/src/fastwq/service/dict/youdaoko.py @@ -4,7 +4,7 @@ import urllib2 import xml.etree.ElementTree from aqt.utils import showInfo -from .base import WebService, export, register, with_styles +from ..base import WebService, export, register, with_styles @register([u'有道词典-韩语', u'Youdao-Korean']) diff --git a/src/fastwq/service/manager.py b/src/fastwq/service/manager.py index d99acfd..99b1d1d 100644 --- a/src/fastwq/service/manager.py +++ b/src/fastwq/service/manager.py @@ -76,17 +76,20 @@ class ServiceManager(object): get service from service packages, available type is WebService, LocalService """ + service_path = u'dict' web_services, local_custom_services = list(), list() - mypath = os.path.dirname(os.path.realpath(__file__)) + mypath = os.path.dirname(os.path.realpath(__file__)) + os.path.sep + service_path files = [f for f in os.listdir(mypath) - if f not in ('__init__.py', 'base.py', 'manager.py', 'pool.py') and not f.endswith('.pyc') and not os.path.isdir(mypath+os.sep+f)] + if f not in ('__init__.py') and not f.endswith('.pyc') and not os.path.isdir(mypath+os.sep+f)] base_class = (WebService, LocalService, MdxService, StardictService) for f in files: #try: - module = importlib.import_module( - '.%s' % os.path.splitext(f)[0], __package__) + module = importlib.import_module( + u'.%s.%s' % (service_path, os.path.splitext(f)[0]), + __package__ + ) for name, cls in inspect.getmembers(module, predicate=inspect.isclass): if cls in base_class: continue