def __init__(self, pathToDict, sameTypeSequence): # Конструктор родителя (BaseStarDictItem) BaseStarDictItem.__init__(self, pathToDict, 'dict') # Маркер, определяющий форматирование словарной статьи self.sameTypeSequence = sameTypeSequence
def __init__(self, pathToDict, wordCount, idxFileSize, idxOffsetBits): # Конструктор родителя (BaseStarDictItem) BaseStarDictItem.__init__(self, pathToDict, 'idx') self.idxDict = {} # Словарь, self.idxDict = {'иностр.слово': [Смещение_до_записи_в_файле_dict, Размер_всей_записи_в_файле_dict], ...} self.idxFileSize = int(idxFileSize) # Размер файла .idx, записанный в .ifo файле self.idxOffsetBytes = int(idxOffsetBits/8) # Размер числа, содержащего внутри себя смещение до записи в файле .dict. Переводим в байты и приводим к числу self.wordCount = int(wordCount) # Количество слов в ".idx" файле # Проверяем целостность словаря (информация в .ifo файле о размере .idx файла [idxfilesize] должна совпадать с его реальным размером) self.__CheckRealFileSize() # Заполняем словарь self.idxDict данными из файла .idx self.__FillIdxDict() # Проверяем целостность словаря (информация в .ifo файле о количестве слов [wordcount] должна совпадать с реальным количеством записей в .idx файле) self.__CheckRealWordCount()
def __init__(self, pathToDict): # Конструктор родителя (BaseStarDictItem) BaseStarDictItem.__init__(self, pathToDict, 'ifo') # Создаем и инициализируем парсер self.iniParser = IniParser(self.dictionaryFile) # Считаем из ifo файла параметры # Если хотя бы одно из обязательных полей отсутствует, вызовется исключение и словарь не будет загружен self.bookName = self.__getParameterValue("bookname", None) # Название словаря [Обязательное поле] self.wordCount = self.__getParameterValue("wordcount", None) # Количество слов в ".idx" файле [Обязательное поле] self.synWordCount = self.__getParameterValue("synwordcount", "") # Количество слов в ".syn" файле синонимов [Обязательное поле, если есть файл ".syn"] self.idxFileSize = self.__getParameterValue("idxfilesize", None) # Размер (в байтах) ".idx" файла. Если файл сжат архиватором, то здесь указывается размер исходного несжатого файла [Обязательное поле] self.idxOffsetBits = self.__getParameterValue("idxoffsetbits", 32) # Размер числа в битах(32 или 64), содержащего внутри себя смещение до записи в файле .dict. Поле пояилось начиная с версии 3.0.0, до этого оно всегда было 32 [Необязательное поле] self.author = self.__getParameterValue("author", "") # Автор словаря [Необязательное поле] self.email = self.__getParameterValue("email", "") # Почта [Необязательное поле] self.description = self.__getParameterValue("description", "") # Описание словаря [Необязательное поле] self.date = self.__getParameterValue("date", "") # Дата создания словаря [Необязательное поле] self.sameTypeSequence = self.__getParameterValue("sametypesequence", None) # Маркер, определяющий форматирование словарной статьи[Обязательное поле] self.dictType = self.__getParameterValue("dicttype", "") # Параметр используется некоторыми словарными плагинами, например WordNet[Необязательное поле]