This commit is contained in:
St.Huang 2018-07-10 23:07:07 +08:00
parent 6f86f06348
commit b7a0fc73a8
2 changed files with 12 additions and 9 deletions

View File

@ -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:

View File

@ -412,7 +412,10 @@ class _DictBuildWorker(QThread):
self._func = func self._func = func
def run(self): def run(self):
try:
self._builder = self._func() 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,12 +650,12 @@ 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
@ -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):