mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-04-29 10:12:38 +02:00
Get OCR settings before conversion starts
In preparation for adding a limit on how many convert threads exist, we are simplifying its logic. Getting ocr_lang doesn't seem to belong to the thread.
This commit is contained in:
parent
95a0536c61
commit
3c1e8a232d
1 changed files with 12 additions and 11 deletions
|
@ -528,23 +528,16 @@ class ConvertThread(QtCore.QThread):
|
||||||
finished = QtCore.Signal(bool)
|
finished = QtCore.Signal(bool)
|
||||||
update = QtCore.Signal(bool, str, int)
|
update = QtCore.Signal(bool, str, int)
|
||||||
|
|
||||||
def __init__(self, dangerzone: DangerzoneGui, document: Document) -> None:
|
def __init__(self, document: Document, ocr_lang: str = None) -> None:
|
||||||
super(ConvertThread, self).__init__()
|
super(ConvertThread, self).__init__()
|
||||||
self.dangerzone = dangerzone
|
|
||||||
self.document = document
|
self.document = document
|
||||||
|
self.ocr_lang = ocr_lang
|
||||||
self.error = False
|
self.error = False
|
||||||
|
|
||||||
def run(self) -> None:
|
def run(self) -> None:
|
||||||
if self.dangerzone.settings.get("ocr"):
|
|
||||||
ocr_lang = self.dangerzone.ocr_languages[
|
|
||||||
self.dangerzone.settings.get("ocr_language")
|
|
||||||
]
|
|
||||||
else:
|
|
||||||
ocr_lang = None
|
|
||||||
|
|
||||||
if convert(
|
if convert(
|
||||||
self.document,
|
self.document,
|
||||||
ocr_lang,
|
self.ocr_lang,
|
||||||
self.stdout_callback,
|
self.stdout_callback,
|
||||||
):
|
):
|
||||||
self.finished.emit(self.error)
|
self.finished.emit(self.error)
|
||||||
|
@ -629,11 +622,19 @@ class DocumentWidget(QtWidgets.QWidget):
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|
||||||
def start(self) -> None:
|
def start(self) -> None:
|
||||||
self.convert_t = ConvertThread(self.dangerzone, self.document)
|
self.convert_t = ConvertThread(self.document, self.get_ocr_lang())
|
||||||
self.convert_t.update.connect(self.update_progress)
|
self.convert_t.update.connect(self.update_progress)
|
||||||
self.convert_t.finished.connect(self.all_done)
|
self.convert_t.finished.connect(self.all_done)
|
||||||
self.convert_t.start()
|
self.convert_t.start()
|
||||||
|
|
||||||
|
def get_ocr_lang(self) -> Optional[str]:
|
||||||
|
ocr_lang = None
|
||||||
|
if self.dangerzone.settings.get("ocr"):
|
||||||
|
ocr_lang = self.dangerzone.ocr_languages[
|
||||||
|
self.dangerzone.settings.get("ocr_language")
|
||||||
|
]
|
||||||
|
return ocr_lang
|
||||||
|
|
||||||
def update_progress(self, error: bool, text: str, percentage: int) -> None:
|
def update_progress(self, error: bool, text: str, percentage: int) -> None:
|
||||||
self.update_status_image()
|
self.update_status_image()
|
||||||
if error:
|
if error:
|
||||||
|
|
Loading…
Reference in a new issue