Move glyph database logic to picelocr.glyphdb.

This commit is contained in:
Andrey Golovizin 2014-08-21 21:52:22 +02:00
parent 9656abe9b2
commit 182a49b359
2 changed files with 44 additions and 13 deletions

View file

@ -14,7 +14,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import pickle
from glob import glob
from os import path
from queue import Queue
@ -27,6 +26,7 @@ from PyQt4.QtCore import (
from ..image import Image
from ..page import Page, Glyph, Space
from ..glyphdb import GlyphDB
class OCREngine(QThread):
@ -37,21 +37,11 @@ class OCREngine(QThread):
super().__init__()
self.dirname = dirname
self.filenames = glob(path.join(dirname, '*.png'))
self.glyphdb_filename = path.join(self.dirname, 'glyphdb.pickle')
self.glyphdb = self.load_glyphdb()
self.glyphdb = GlyphDB(path.join(self.dirname, 'glyphdb.pickle'))
self.help_queue = Queue()
def load_glyphdb(self):
if path.isfile(self.glyphdb_filename):
with open(self.glyphdb_filename, 'rb') as glyphdb_file:
glyphdb = pickle.load(glyphdb_file)
else:
glyphdb = {}
return glyphdb
def save_glyphdb(self):
with open(self.glyphdb_filename, 'wb') as glyphdb_file:
pickle.dump(self.glyphdb, glyphdb_file)
self.glyphdb.save()
def load_page(self, filename):
return Page(Image.fromfile(filename).unframe(10))