diff --git a/pixelocr/gui/__init__.py b/pixelocr/gui/__init__.py index ec603c3..8758514 100644 --- a/pixelocr/gui/__init__.py +++ b/pixelocr/gui/__init__.py @@ -36,6 +36,8 @@ from .ocrengine import OCREngine parser = ArgumentParser(description='PixelOCR') 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') @@ -46,7 +48,7 @@ def main(): QApplication.setApplicationName("PixelOCR"); 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) win = MainWindow(ocr) diff --git a/pixelocr/gui/ocrengine.py b/pixelocr/gui/ocrengine.py index 5094881..e4d8b89 100644 --- a/pixelocr/gui/ocrengine.py +++ b/pixelocr/gui/ocrengine.py @@ -37,12 +37,13 @@ class OCREngine(QThread): unknownGlyph = signal([Glyph]) pageChanged = signal([Page]) - def __init__(self, dirname, skip=0): + def __init__(self, dirname, skip=0, limit=None, quit=False): super().__init__() 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.help_queue = Queue() + self.quit = quit def save_glyphdb(self): self.glyphdb.save() @@ -54,6 +55,8 @@ class OCREngine(QThread): for page_text in self.recognize(): print() print(page_text) + if self.quit: + qApp.quit() def recognize(self): for filename in self.filenames: