forked from MarianBirindzhiev/OCRTableApp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
36 lines (29 loc) · 1.12 KB
/
main.py
File metadata and controls
36 lines (29 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from app import ControllerManager
from app import OCRProcessorManager
from utilities import setup_logger, parse_args, ROWS_DEFAULT, COLS_DEFAULT
import tkinter as tk
import argparse
logger = setup_logger()
class TableOCRApp:
"""Main application class that wires together the UI and logic components."""
def __init__(self, rows: int = ROWS_DEFAULT, cols: int = COLS_DEFAULT, args: argparse.Namespace = None):
logger.info("Initializing OCR Table application...")
self.controller = ControllerManager(rows, cols)
try:
self.processor = OCRProcessorManager(args, self.controller.table_grid_controller)
except FileNotFoundError as e:
self.processor = None
def run(self):
logger.info("Launching application UI.")
if self.processor:
self.processor.image.show()
self.controller.window_manager.root.mainloop()
if __name__ == "__main__":
args = parse_args()
logger.info("Starting application with arguments: %s", args)
app = TableOCRApp(
rows=ROWS_DEFAULT,
cols=COLS_DEFAULT,
args=args
)
app.run()