示例#1
0
 def write(self, fname):
     info, self.data = self.dictFromSqlite()
     self._status = "Writing to output file..."
     g = Glossary()
     g.data = self.data
     g.setInfo("bookname", info["bookname"].encode("utf-8"))
     g.write(fname)
示例#2
0
 def export(self):
     fname = os.path.join(self.output_directory, "stardict.ifo")
     with sqlite3.connect(self.output_db) as conn:
         c = conn.cursor()
         info = {}
         data = []
         for row in c.execute('''SELECT key,value FROM info''').fetchall():
             info[row[0]] = row[1]
         c.execute('''SELECT word,def,id FROM dict''')
         rows = c.fetchall()
         no = len(rows)
         syns = c.execute('''SELECT syn,wid FROM synonyms''').fetchall()
         syn_list = {x[2]: [] for x in rows}
         [syn_list[syn[1]].append(syn[0]) for syn in syns]
         if "sametypesequence" in info:
             defiFormat = info["sametypesequence"]
         else:
             defiFormat = "h"
         g = Glossary()
         for i, row in enumerate(rows):
             self._status = "Reading from db entry %d of %d..." % (i, no)
             g.addEntry([row[0]] + syn_list[row[2]],
                        row[1],
                        defiFormat=defiFormat)
         self._status = "Writing to output file..."
         g.setInfo("bookname", info["bookname"])
         g.write(fname, "Stardict")
示例#3
0
from pyglossary.glossary import Glossary

Glossary.init()

glos = Glossary()

defiFormat = "m"
# "m" for plain text, "h" for HTML

mydict = {
    "a": "test1",
    "b": "test2",
    "c": "test3",
    "d": "test4",
    "e": "test5",
    "f": "test6",
}

for word, defi in mydict.items():
    glos.addEntryObj(glos.newEntry(word, defi, defiFormat=defiFormat))

glos.setInfo("title", "My Test StarDict")
glos.setInfo("author", "John Doe")
glos.write("test.ifo", format="Stardict")