Automatically save glyph database after adding a new glyph.
This commit is contained in:
parent
5b1e84dd7f
commit
a9a3fc2bac
1 changed files with 9 additions and 6 deletions
|
|
@ -94,19 +94,22 @@ class GlyphDB(object):
|
||||||
key = self._key_from_glyph(glyph)
|
key = self._key_from_glyph(glyph)
|
||||||
return self._dict[key]
|
return self._dict[key]
|
||||||
|
|
||||||
def add_glyph(self, glyph, text, bold=False, italic=False):
|
def add_glyph(self, glyph, text, bold=False, italic=False, save=True):
|
||||||
data = GlyphData.from_glyph(glyph, text, bold=bold, italic=italic)
|
data = GlyphData.from_glyph(glyph, text, bold=bold, italic=italic)
|
||||||
key = self._key_from_glyph(glyph)
|
self.add(data)
|
||||||
self._dict[key] = data
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def add(self, data):
|
def add(self, data, save=True):
|
||||||
key = self._key_from_data(data)
|
key = self._key_from_data(data)
|
||||||
self._dict[key] = data
|
self._dict[key] = data
|
||||||
|
if save:
|
||||||
|
self.save()
|
||||||
|
|
||||||
def remove(self, data):
|
def remove(self, data, save=True):
|
||||||
key = self._key_from_data(data)
|
key = self._key_from_data(data)
|
||||||
del self._dict[key]
|
del self._dict[key]
|
||||||
|
if save:
|
||||||
|
self.save()
|
||||||
|
|
||||||
def keys(self):
|
def keys(self):
|
||||||
return self._dict.keys()
|
return self._dict.keys()
|
||||||
|
|
@ -121,7 +124,7 @@ class GlyphDB(object):
|
||||||
with open(self.filename, 'rb') as fileobj:
|
with open(self.filename, 'rb') as fileobj:
|
||||||
data = pickle.load(fileobj)
|
data = pickle.load(fileobj)
|
||||||
for item in data:
|
for item in data:
|
||||||
self.add(GlyphData.deserialize(item))
|
self.add(GlyphData.deserialize(item), save=False)
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
data = [data.serialize() for data in self.values()]
|
data = [data.serialize() for data in self.values()]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue