MCPcopy Create free account
hub / github.com/EasyIME/PIME / run

Method run

python/cinbase/__init__.py:3301–3343  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3299 self.CinTable = CinTable
3300
3301 def run(self):
3302 if DEBUG_MODE:
3303 self.cbTS.debug.setStartTimer("LoadCinTable")
3304
3305 self.CinTable.loading = True
3306 if self.cbTS.cfg.selCinType >= len(self.cbTS.cinFileList):
3307 self.cbTS.cfg.selCinType = 0
3308 selCinFile = self.cbTS.cinFileList[self.cbTS.cfg.selCinType]
3309 jsonPath = os.path.join(self.cbTS.jsondir, selCinFile)
3310
3311 if self.cbTS.reLoadCinTable or not hasattr(self.cbTS, 'cin'):
3312 self.cbTS.reLoadCinTable = False
3313
3314 if hasattr(self.cbTS, 'cin'):
3315 self.cbTS.cin.__del__()
3316 if hasattr(self.CinTable.cin, '__del__'):
3317 self.CinTable.cin.__del__()
3318
3319 self.cbTS.cin = None
3320 self.CinTable.cin = None
3321
3322 with io.open(jsonPath, 'r', encoding='utf8') as fs:
3323 self.cbTS.cin = Cin(fs, self.cbTS.imeDirName, self.cbTS.ignorePrivateUseArea)
3324 self.CinTable.cin = self.cbTS.cin
3325 self.CinTable.curCinType = self.cbTS.cfg.selCinType
3326
3327 if not hasattr(self.cbTS, 'extendtable'):
3328 if self.cbTS.cfg.userExtendTable:
3329 datadirs = (self.cbTS.cfg.getConfigDir(), self.cbTS.cfg.getDataDir())
3330 extendtablePath = self.cbTS.cfg.findFile(datadirs, "extendtable.dat")
3331 with io.open(extendtablePath, encoding='utf-8') as fs:
3332 self.cbTS.extendtable = extendtable(fs)
3333 else:
3334 self.cbTS.extendtable = {}
3335 self.cbTS.cin.updateCinTable(self.cbTS.cfg.userExtendTable, self.cbTS.cfg.priorityExtendTable, self.cbTS.extendtable, self.cbTS.cfg.ignorePrivateUseArea)
3336 self.CinTable.userExtendTable = self.cbTS.cfg.userExtendTable
3337 self.CinTable.priorityExtendTable = self.cbTS.cfg.priorityExtendTable
3338 self.CinTable.ignorePrivateUseArea = self.cbTS.cfg.ignorePrivateUseArea
3339 self.CinTable.loading = False
3340
3341 if DEBUG_MODE:
3342 self.cbTS.debug.setEndTimer("LoadCinTable")
3343 self.cbTS.debugLog[time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + " [C]"] = self.cbTS.debug.info['brand'] + ":「" + self.cbTS.debug.jsonNameDict[selCinFile] + "」碼表載入時間約為 " + self.cbTS.debug.getDurationTime("LoadCinTable") + " 秒"
3344
3345
3346class LoadRCinTable(threading.Thread):

Callers

nothing calls this directly

Calls 12

extendtableClass · 0.90
CinClass · 0.85
setStartTimerMethod · 0.80
joinMethod · 0.80
updateCinTableMethod · 0.80
setEndTimerMethod · 0.80
getDurationTimeMethod · 0.80
__del__Method · 0.45
openMethod · 0.45
getConfigDirMethod · 0.45
getDataDirMethod · 0.45
findFileMethod · 0.45

Tested by

no test coverage detected