def readMapFromFileGenerator(f): # Size of the map, 4 bytes buf = f.read(4) size, = unpack('<i', buf) for i in range(0, size): info = NameHelper.readProtoFromFile(f, RawNameItemInfo) yield info
def importResultFromFile(self, fileName): f = open(fileName, 'r') self._resetTable() # Global infomation globalInfo = NameHelper.readProtoFromFile(f, GlobalNameInfo) self._addGlobalInfo(globalInfo) # Map self._importMapFromFile(f, self.XING_CHAR_MAP_NAME) log.info('XingCharMap imported...') self._importMapFromFile(f, self.XING_MAP_NAME) log.info('XingMap imported...') self._importMapFromFile(f, self.MING_CHAR_MAP_NAME) log.info('MingCharMap imported...') self._importMapFromFile(f, self.MING_MAP_NAME) log.info('MingMap imported...') self._importMapFromFile(f, self.XING_MING_MAP_NAME) log.info('XingMingMap imported...') # Array self._importRankArrayFromFile(f, self.XING_CHAR_RANK_NAME) log.info('XingCharArray imported...') self._importRankArrayFromFile(f, self.XING_RANK_NAME) log.info('XingArray imported...') self._importRankArrayFromFile(f, self.MING_CHAR_RANK_NAME) log.info('MingCharArray imported...') self._importRankArrayFromFile(f, self.MING_RANK_NAME) log.info('MingArray imported...') self._importRankArrayFromFile(f, self.XING_MING_RANK_NAME) log.info('XingMingArray imported...')
def readMapFromFile(f): m = {} # Size of the map, 4 bytes buf = f.read(4) size, = unpack('<i', buf) for i in range(0, size): info = NameHelper.readProtoFromFile(f, RawNameItemInfo) assert not m.get(info.text), 'Duplicate key in the map.' m[info.text] = info return m
def readFromFile(self, fileName): f = open(fileName, 'r') # Global infomation self.globalInfo = NameHelper.readProtoFromFile(f, GlobalNameInfo) # Read Map self.xingCharMap = Result.readMapFromFile(f) self.xingMap = Result.readMapFromFile(f) self.mingCharMap = Result.readMapFromFile(f) self.mingMap = Result.readMapFromFile(f) self.xingMingMap = Result.readMapFromFile(f) # Read array self.xingCharSortedArray = Result.readArrayFromFile(f) self.xingSortedArray = Result.readArrayFromFile(f) self.mingCharSortedArray = Result.readArrayFromFile(f) self.mingSortedArray = Result.readArrayFromFile(f) self.xingMingSortedArray = Result.readArrayFromFile(f) f.close()