Add --limit and --quit options.

This commit is contained in:
Andrey Golovizin 2014-09-03 20:51:57 +02:00
parent f256f550af
commit 1b49500227
2 changed files with 8 additions and 3 deletions

View file

@ -36,6 +36,8 @@ from .ocrengine import OCREngine
parser = ArgumentParser(description='PixelOCR') parser = ArgumentParser(description='PixelOCR')
parser.add_argument('--skip', metavar='N', type=int, default=0) parser.add_argument('--skip', metavar='N', type=int, default=0)
parser.add_argument('--limit', metavar='N', type=int, default=None)
parser.add_argument('--quit', action='store_true')
parser.add_argument('filename') parser.add_argument('filename')
@ -46,7 +48,7 @@ def main():
QApplication.setApplicationName("PixelOCR"); QApplication.setApplicationName("PixelOCR");
args = parser.parse_args() args = parser.parse_args()
ocr = OCREngine(args.filename, skip=args.skip) ocr = OCREngine(args.filename, skip=args.skip, limit=args.limit, quit=args.quit)
app.aboutToQuit.connect(ocr.save_glyphdb) app.aboutToQuit.connect(ocr.save_glyphdb)
win = MainWindow(ocr) win = MainWindow(ocr)

View file

@ -37,12 +37,13 @@ class OCREngine(QThread):
unknownGlyph = signal([Glyph]) unknownGlyph = signal([Glyph])
pageChanged = signal([Page]) pageChanged = signal([Page])
def __init__(self, dirname, skip=0): def __init__(self, dirname, skip=0, limit=None, quit=False):
super().__init__() super().__init__()
self.dirname = dirname self.dirname = dirname
self.filenames = sorted(glob(path.join(dirname, '*.png')))[skip:] self.filenames = sorted(glob(path.join(dirname, '*.png')))[skip:skip + limit if limit else None]
self.glyphdb = GlyphDB(path.join(self.dirname, 'glyphdb.pickle')) self.glyphdb = GlyphDB(path.join(self.dirname, 'glyphdb.pickle'))
self.help_queue = Queue() self.help_queue = Queue()
self.quit = quit
def save_glyphdb(self): def save_glyphdb(self):
self.glyphdb.save() self.glyphdb.save()
@ -54,6 +55,8 @@ class OCREngine(QThread):
for page_text in self.recognize(): for page_text in self.recognize():
print() print()
print(page_text) print(page_text)
if self.quit:
qApp.quit()
def recognize(self): def recognize(self):
for filename in self.filenames: for filename in self.filenames: