| import queue |
| import threading |
| from streamlit.runtime.scriptrunner import add_script_run_ctx |
| from src.ocr import ocr_thread |
| from src.chatbot import run_chatbot |
|
|
| class SystemInitializer: |
| def initialize_system(self): |
| """Initializes queues and starts OCR thread.""" |
| queues = { |
| 'frame_queue': queue.Queue(maxsize=1), |
| 'text_queue': queue.Queue(maxsize=1), |
| 'annotation_queue': queue.Queue(maxsize=1), |
| 'prompt_queue': queue.Queue(maxsize=1), |
| 'ppx_queue': queue.Queue(maxsize=1) |
| } |
| ocr_thread_with_ctx = threading.Thread(target=ocr_thread, args=(queues['frame_queue'], queues['text_queue'])) |
| add_script_run_ctx(ocr_thread_with_ctx) |
| ocr_thread_with_ctx.start() |
| return queues |
|
|
| def run_chatbot(self): |
| run_chatbot() |