[ocrfeeder/langs: 4/15] Pass the new language's configuration to the OCR Engine's initialization
- From: Joaquim Manuel Pereira Rocha <jrocha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ocrfeeder/langs: 4/15] Pass the new language's configuration to the OCR Engine's initialization
- Date: Tue, 5 Feb 2013 06:25:03 +0000 (UTC)
commit 55f844d01e1883dbe6b0a3d6ff33d2a91a1c5ac4
Author: Joaquim Rocha <jrocha igalia com>
Date: Wed Jan 23 10:29:05 2013 +0100
Pass the new language's configuration to the OCR Engine's initialization
src/ocrfeeder/feeder/ocrEngines.py | 43 +++++++++++++++++++++++++---------
src/ocrfeeder/util/configuration.py | 5 ++++
2 files changed, 36 insertions(+), 12 deletions(-)
---
diff --git a/src/ocrfeeder/feeder/ocrEngines.py b/src/ocrfeeder/feeder/ocrEngines.py
index dbda3b5..b475017 100644
--- a/src/ocrfeeder/feeder/ocrEngines.py
+++ b/src/ocrfeeder/feeder/ocrEngines.py
@@ -35,8 +35,8 @@ class Engine:
def __init__(self, name, engine_path, arguments,
image = None, temporary_folder = '/tmp/',
image_format = 'PPM', failure_string = '',
- languages = '', favorite_language = '',
- language_argument = '', version = 0.0):
+ languages = '', language_argument = '',
+ version = 0.0):
self.name = name
self.engine_path = engine_path
@@ -53,8 +53,7 @@ class Engine:
self.image_format = image_format
self.failure_string = failure_string
self.language_argument = language_argument
- self.languages = self.unserializeLanguages(languages)
- self.favorite_language = favorite_language
+ self.setLanguages(languages)
self.temporary_folder = temporary_folder
self.__color_information = None
@@ -75,14 +74,17 @@ class Engine:
file_name = tempfile.mkstemp(dir = self.temporary_folder)[1]
parsed_arguments = parsed_arguments.replace(FILE_ARGUMENT, file_name)
- favorite_language = self.languages.get(self.favorite_language, '')
- if not favorite_language:
- values = self.languages.values()
- if values:
- favorite_language = values[0]
+ favorite_language = ''
+ if self.language_argument:
+ if self._favorite_language and self.languages:
+ favorite_language = self.languages.get(self._favorite_language, '')
+ if not favorite_language:
+ values = self.languages.values()
+ if values:
+ favorite_language = values[0]
parsed_arguments = parsed_arguments.replace(LANGUAGE_ARGUMENT,
- '%s %s' % (self.language_argument,
- favorite_language))
+ '%s %s' % (self.language_argument,
+ favorite_language))
text = os.popen(self.engine_path + ' ' + parsed_arguments).read()
try:
@@ -131,7 +133,6 @@ class Engine:
'failure_string': self.failure_string,
'language_argument': self.language_argument,
'languages': self.serializeLanguages(self.languages),
- 'favorite_language': self.favorite_language,
'version': self.version}
root = ET.Element('engine')
for key, value in engine_info.items():
@@ -154,6 +155,24 @@ class Engine:
return ','.join(['%s:%s' % (lang, engine_lang)
for lang, engine_lang in language_dict.items()])
+ def hasLanguages(self):
+ return self.languages and self.language_argument and \
+ self.arguments.find(LANGUAGE_ARGUMENT) != -1
+
+ def setLanguages(self, languages):
+ self._languages = self.unserializeLanguages(languages)
+
+ def getLanguages(self):
+ return self._languages
+
+ def setLanguage(self, language):
+ self._favorite_language = language
+
+ def getLanguage(self):
+ return self._favorite_language
+
+ languages = property(getLanguages, setLanguages)
+
class OcrEnginesManager:
def __init__(self, configuration_manager):
diff --git a/src/ocrfeeder/util/configuration.py b/src/ocrfeeder/util/configuration.py
index d0f658d..6c5c402 100644
--- a/src/ocrfeeder/util/configuration.py
+++ b/src/ocrfeeder/util/configuration.py
@@ -131,12 +131,17 @@ class ConfigurationManager(object):
image_format = PREDEFINED_ENGINES[name].get('image_format', 'PPM')
failure_string = PREDEFINED_ENGINES[name].get('failure_string', '')
version = PREDEFINED_ENGINES[name].get('version', 0.0)
+ language_argument = PREDEFINED_ENGINES[name].get('language_argument', '')
+ languages = PREDEFINED_ENGINES[name].get('languages', '')
+ favorite_language = PREDEFINED_ENGINES[name].get('favorite_language', '')
engine = Engine(engine_name,
path,
arguments,
temporary_folder = self.TEMPORARY_FOLDER,
image_format = image_format,
failure_string = failure_string,
+ languages = languages,
+ language_argument = language_argument,
version = version)
existing_engines.append(engine)
return existing_engines
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]