Separate engine names from config entries
This commit is contained in:
@@ -173,6 +173,6 @@ class Config:
|
||||
try:
|
||||
return self.__engine_config[value]
|
||||
except KeyError:
|
||||
return None
|
||||
return {}
|
||||
|
||||
config = Config()
|
||||
|
||||
13
owocr/ocr.py
13
owocr/ocr.py
@@ -380,6 +380,7 @@ class MangaOcrSegmented:
|
||||
name = 'mangaocrs'
|
||||
readable_name = 'Manga OCR (segmented)'
|
||||
key = 'n'
|
||||
config_entry = 'mangaocr'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = False
|
||||
@@ -559,6 +560,7 @@ class MangaOcr:
|
||||
name = 'mangaocr'
|
||||
readable_name = 'Manga OCR'
|
||||
key = 'm'
|
||||
config_entry = 'mangaocr'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = False
|
||||
@@ -590,6 +592,7 @@ class GoogleVision:
|
||||
name = 'gvision'
|
||||
readable_name = 'Google Vision'
|
||||
key = 'g'
|
||||
config_entry = None
|
||||
available = False
|
||||
local = False
|
||||
manual_language = False
|
||||
@@ -727,6 +730,7 @@ class GoogleLens:
|
||||
name = 'glens'
|
||||
readable_name = 'Google Lens'
|
||||
key = 'l'
|
||||
config_entry = None
|
||||
available = False
|
||||
local = False
|
||||
manual_language = False
|
||||
@@ -875,6 +879,7 @@ class Bing:
|
||||
name = 'bing'
|
||||
readable_name = 'Bing'
|
||||
key = 'b'
|
||||
config_entry = None
|
||||
available = False
|
||||
local = False
|
||||
manual_language = False
|
||||
@@ -1047,6 +1052,7 @@ class AppleVision:
|
||||
name = 'avision'
|
||||
readable_name = 'Apple Vision'
|
||||
key = 'a'
|
||||
config_entry = 'avision'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = True
|
||||
@@ -1138,6 +1144,7 @@ class AppleLiveText:
|
||||
name = 'alivetext'
|
||||
readable_name = 'Apple Live Text'
|
||||
key = 'd'
|
||||
config_entry = None
|
||||
available = False
|
||||
local = True
|
||||
manual_language = True
|
||||
@@ -1265,6 +1272,7 @@ class WinRTOCR:
|
||||
name = 'winrtocr'
|
||||
readable_name = 'WinRT OCR'
|
||||
key = 'w'
|
||||
config_entry = 'winrtocr'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = True
|
||||
@@ -1373,6 +1381,7 @@ class OneOCR:
|
||||
name = 'oneocr'
|
||||
readable_name = 'OneOCR'
|
||||
key = 'z'
|
||||
config_entry = 'oneocr'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = False
|
||||
@@ -1502,6 +1511,7 @@ class AzureImageAnalysis:
|
||||
name = 'azure'
|
||||
readable_name = 'Azure Image Analysis'
|
||||
key = 'v'
|
||||
config_entry = 'azure'
|
||||
available = False
|
||||
local = False
|
||||
manual_language = False
|
||||
@@ -1603,6 +1613,7 @@ class EasyOCR:
|
||||
name = 'easyocr'
|
||||
readable_name = 'EasyOCR'
|
||||
key = 'e'
|
||||
config_entry = 'easyocr'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = True
|
||||
@@ -1672,6 +1683,7 @@ class RapidOCR:
|
||||
name = 'rapidocr'
|
||||
readable_name = 'RapidOCR'
|
||||
key = 'r'
|
||||
config_entry = 'rapidocr'
|
||||
available = False
|
||||
local = True
|
||||
manual_language = True
|
||||
@@ -1767,6 +1779,7 @@ class OCRSpace:
|
||||
name = 'ocrspace'
|
||||
readable_name = 'OCRSpace'
|
||||
key = 'o'
|
||||
config_entry = 'ocrspace'
|
||||
available = False
|
||||
local = False
|
||||
manual_language = True
|
||||
|
||||
@@ -1684,16 +1684,16 @@ def run():
|
||||
logger.warning(f"Skipping {engine_class.readable_name} as it does not support JSON output")
|
||||
continue
|
||||
|
||||
if config.get_engine(engine_class.name) == None:
|
||||
if not engine_class.config_entry:
|
||||
if engine_class.manual_language:
|
||||
engine_instance = engine_class(language=language)
|
||||
else:
|
||||
engine_instance = engine_class()
|
||||
else:
|
||||
if engine_class.manual_language:
|
||||
engine_instance = engine_class(config=config.get_engine(engine_class.name), language=language)
|
||||
engine_instance = engine_class(config=config.get_engine(engine_class.config_entry), language=language)
|
||||
else:
|
||||
engine_instance = engine_class(config=config.get_engine(engine_class.name))
|
||||
engine_instance = engine_class(config=config.get_engine(engine_class.config_entry))
|
||||
|
||||
if engine_instance.available:
|
||||
engine_instances.append(engine_instance)
|
||||
|
||||
@@ -147,11 +147,6 @@
|
||||
|
||||
;force_cpu = False
|
||||
|
||||
;[mangaocrs]
|
||||
;pretrained_model_name_or_path = kha-white/manga-ocr-base
|
||||
|
||||
;force_cpu = False
|
||||
|
||||
;[easyocr]
|
||||
;gpu = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user