From a9a3fc2bac3a14e4c30e25bfe3b45e0fec673cbd Mon Sep 17 00:00:00 2001 From: Andrey Golovizin Date: Fri, 19 Sep 2014 21:03:22 +0200 Subject: [PATCH] Automatically save glyph database after adding a new glyph. --- pixelocr/glyphdb.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pixelocr/glyphdb.py b/pixelocr/glyphdb.py index d918173..82ac1b4 100644 --- a/pixelocr/glyphdb.py +++ b/pixelocr/glyphdb.py @@ -94,19 +94,22 @@ class GlyphDB(object): key = self._key_from_glyph(glyph) 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) - key = self._key_from_glyph(glyph) - self._dict[key] = data + self.add(data) return data - def add(self, data): + def add(self, data, save=True): key = self._key_from_data(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) del self._dict[key] + if save: + self.save() def keys(self): return self._dict.keys() @@ -121,7 +124,7 @@ class GlyphDB(object): with open(self.filename, 'rb') as fileobj: data = pickle.load(fileobj) for item in data: - self.add(GlyphData.deserialize(item)) + self.add(GlyphData.deserialize(item), save=False) def save(self): data = [data.serialize() for data in self.values()]