fix #14
This commit is contained in:
parent
6f86f06348
commit
b7a0fc73a8
@ -578,7 +578,7 @@ class MDD(MDict):
|
|||||||
index_dict['record_block_type'] = _type
|
index_dict['record_block_type'] = _type
|
||||||
record_start, key_text = self._key_list[i]
|
record_start, key_text = self._key_list[i]
|
||||||
index_dict['record_start'] = record_start
|
index_dict['record_start'] = record_start
|
||||||
index_dict['key_text'] = key_text.decode("utf-8")
|
index_dict['key_text'] = key_text.decode("utf-8", errors='ignore')
|
||||||
index_dict['offset'] = offset
|
index_dict['offset'] = offset
|
||||||
# reach the end of current record block
|
# reach the end of current record block
|
||||||
if record_start - offset >= decompressed_size:
|
if record_start - offset >= decompressed_size:
|
||||||
@ -820,7 +820,7 @@ class MDX(MDict):
|
|||||||
index_dict['record_block_type'] = _type
|
index_dict['record_block_type'] = _type
|
||||||
record_start, key_text = self._key_list[i]
|
record_start, key_text = self._key_list[i]
|
||||||
index_dict['record_start'] = record_start
|
index_dict['record_start'] = record_start
|
||||||
index_dict['key_text'] = key_text.decode('utf-8')
|
index_dict['key_text'] = key_text.decode('utf-8', errors='ignore')
|
||||||
index_dict['offset'] = offset
|
index_dict['offset'] = offset
|
||||||
# reach the end of current record block
|
# reach the end of current record block
|
||||||
if record_start - offset >= decompressed_size:
|
if record_start - offset >= decompressed_size:
|
||||||
|
|||||||
@ -412,7 +412,10 @@ class _DictBuildWorker(QThread):
|
|||||||
self._func = func
|
self._func = func
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self._builder = self._func()
|
try:
|
||||||
|
self._builder = self._func()
|
||||||
|
except Exception:
|
||||||
|
self._builder = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def builder(self):
|
def builder(self):
|
||||||
@ -478,7 +481,7 @@ class MdxService(LocalService):
|
|||||||
self.html_cache = defaultdict(str)
|
self.html_cache = defaultdict(str)
|
||||||
self.query_interval = 0.01
|
self.query_interval = 0.01
|
||||||
self.styles = []
|
self.styles = []
|
||||||
if self.support:
|
if MdxService.check(self.dict_path):
|
||||||
self.builder = self._get_builer(dict_path, service_wrap(MdxBuilder, dict_path))
|
self.builder = self._get_builer(dict_path, service_wrap(MdxBuilder, dict_path))
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -487,7 +490,7 @@ class MdxService(LocalService):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def support(self):
|
def support(self):
|
||||||
return MdxService.check(self.dict_path)
|
return self.builder and MdxService.check(self.dict_path)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def title(self):
|
def title(self):
|
||||||
@ -647,13 +650,13 @@ class StardictService(LocalService):
|
|||||||
def __init__(self, dict_path):
|
def __init__(self, dict_path):
|
||||||
super(StardictService, self).__init__(dict_path)
|
super(StardictService, self).__init__(dict_path)
|
||||||
self.query_interval = 0.05
|
self.query_interval = 0.05
|
||||||
if self.support:
|
if StardictService.check(self.dict_path):
|
||||||
self.builder = self._get_builer(
|
self.builder = self._get_builer(
|
||||||
dict_path,
|
dict_path,
|
||||||
service_wrap(StardictBuilder, dict_path, in_memory=False)
|
service_wrap(StardictBuilder, dict_path, in_memory=False)
|
||||||
)
|
)
|
||||||
#self.builder = StardictBuilder(self.dict_path, in_memory=False)
|
if self.builder:
|
||||||
self.builder.get_header()
|
self.builder.get_header()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def check(dict_path):
|
def check(dict_path):
|
||||||
@ -661,7 +664,7 @@ class StardictService(LocalService):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def support(self):
|
def support(self):
|
||||||
return StardictService.check(self.dict_path)
|
return self.builder and StardictService.check(self.dict_path)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def title(self):
|
def title(self):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user