Пример #1
0
    def open(self, filename, encoding="", substyle=True):
        from pyglossary.plugin_lib.readmdict import MDX, MDD
        self._filename = filename
        self._encoding = encoding
        self._substyle = substyle
        self._mdx = MDX(filename, self._encoding, self._substyle)

        filenameNoExt, ext = splitext(self._filename)
        mddBase = "".join([filenameNoExt, extsep])
        for fname in (f"{mddBase}mdd", f"{mddBase}1.mdd"):
            if isfile(fname):
                self._mdd.append(MDD(fname))
        mddN = 2
        while isfile(f"{mddBase}{mddN}.mdd"):
            self._mdd.append(MDD(f"{mddBase}{mddN}.mdd"))
            mddN += 1
        log.info(f"Found {len(self._mdd)} mdd files")

        log.debug("mdx.header = " + pformat(self._mdx.header))
        # for key, value in self._mdx.header.items():
        #	key = key.lower()
        #	self._glos.setInfo(key, value)
        try:
            title = self._mdx.header[b"Title"]
        except KeyError:
            pass
        else:
            self._glos.setInfo("name", title)
        desc = self._mdx.header.get(b"Description", "")
        if desc:
            self._glos.setInfo("description", desc)
Пример #2
0
	def open(self, filename, **options):
		from pyglossary.plugin_lib.readmdict import MDX, MDD
		self._filename = filename
		self._encoding = options.get("encoding", "")
		self._substyle = options.get("substyle", True)
		self._mdx = MDX(filename, self._encoding, self._substyle)

		filenameNoExt, ext = splitext(self._filename)
		mddFilename = "".join([filenameNoExt, extsep, "mdd"])
		if isfile(mddFilename):
			self._mdd = MDD(mddFilename)
			self._mddFilename = mddFilename

		log.pretty(self._mdx.header, "mdx.header=")
		# for key, value in self._mdx.header.items():
		#	key = key.lower()
		#	self._glos.setInfo(key, value)
		try:
			title = self._mdx.header[b"Title"]
		except KeyError:
			pass
		else:
			self._glos.setInfo("title", title)
		self._glos.setInfo(
			"description",
			self._mdx.header.get(b"Description", ""),
		)
Пример #3
0
 def open(self, filename, **options):
     from pyglossary.plugin_lib.readmdict import MDX, MDD
     self._filename = filename
     self._encoding = options.get('encoding', '')
     self._substyle = options.get('substyle', True)
     self._mdx = MDX(filename, self._encoding, self._substyle)
     ###
     filenameNoExt, ext = splitext(self._filename)
     self._dataDir = options.get('resPath', filenameNoExt + '_files')
     mddFilename = ''.join([filenameNoExt, extsep, 'mdd'])
     if isfile(mddFilename):
         self._mdd = MDD(mddFilename)
         self._mddFilename = mddFilename
     ###
     log.pretty(self._mdx.header, 'mdx.header=')
     #for key, value in self._mdx.header.items():
     #    key = key.lower()
     #    self._glos.setInfo(key, value)
     try:
         title = self._mdx.header[b'Title']
     except KeyError:
         pass
     else:
         self._glos.setInfo('title', title)
     self._glos.setInfo('description',
                        self._mdx.header.get(b'Description', ''))
     ###
     try:
         self.writeDataFiles()
     except:
         log.exception('error while saving MDict data files')
Пример #4
0
    def open(self, filename):
        from pyglossary.plugin_lib.readmdict import MDX, MDD
        self._filename = filename
        self._mdx = MDX(filename, self._encoding, self._substyle)
        """
			multiple MDD files are supported with this naming schema:
				FILE.mdx
				FILE.mdd
				FILE.1.mdd
				FILE.2.mdd
				FILE.3.mdd
		"""

        filenameNoExt, ext = splitext(self._filename)
        mddBase = "".join([filenameNoExt, extsep])
        for fname in (f"{mddBase}mdd", f"{mddBase}1.mdd"):
            if isfile(fname):
                self._mdd.append(MDD(fname))
        mddN = 2
        while isfile(f"{mddBase}{mddN}.mdd"):
            self._mdd.append(MDD(f"{mddBase}{mddN}.mdd"))
            mddN += 1

        dataEntryCount = 0
        for mdd in self._mdd:
            dataEntryCount += len(mdd)
        self._dataEntryCount = dataEntryCount
        log.info(
            f"Found {len(self._mdd)} mdd files with {dataEntryCount} entries")

        log.debug("mdx.header = " + pformat(self._mdx.header))
        # for key, value in self._mdx.header.items():
        #	key = key.lower()
        #	self._glos.setInfo(key, value)
        try:
            title = self._mdx.header[b"Title"]
        except KeyError:
            pass
        else:
            title = title.strip()
            if title:
                self._glos.setInfo("name", title)
        desc = self._mdx.header.get(b"Description", "")
        if desc:
            self._glos.setInfo("description", desc)

        self.loadLinks()