[orca] Additional fix for bgo#606962 - availability of gnomespeech not handled well
- From: William Walker <wwalker src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [orca] Additional fix for bgo#606962 - availability of gnomespeech not handled well
- Date: Tue, 19 Jan 2010 15:39:09 +0000 (UTC)
commit f0fac0db03c3333c4be7701cc308c7d351297f8f
Author: Willie Walker <william walker sun com>
Date: Tue Jan 19 10:37:08 2010 -0500
Additional fix for bgo#606962 - availability of gnomespeech not handled well
src/orca/speech.py | 48 +++++++++++++++++++++++++++++++-----------------
1 files changed, 31 insertions(+), 17 deletions(-)
---
diff --git a/src/orca/speech.py b/src/orca/speech.py
index 7ffca92..21cc619 100644
--- a/src/orca/speech.py
+++ b/src/orca/speech.py
@@ -71,31 +71,19 @@ def getSpeechServerFactories():
[''])
factories.append(module)
except:
- debug.printException(debug.LEVEL_OFF)
+ debug.printException(debug.LEVEL_CONFIGURATION)
return factories
-def init():
+def _initSpeechServer(moduleName, speechServerInfo):
global _speechserver
- if _speechserver:
+ if not moduleName:
return
- # First, find the factory module to use. We will
- # allow the user to give their own factory module,
- # thus we look first in the global name space, and
- # then we look in the orca namespace.
- #
- moduleName = settings.speechServerFactory
-
- if moduleName:
- debug.println(debug.LEVEL_CONFIGURATION,
- "Using speech server factory: %s" % moduleName)
- else:
- debug.println(debug.LEVEL_CONFIGURATION,
- "Speech not available.")
- return
+ debug.println(debug.LEVEL_CONFIGURATION,
+ "Trying to use speech server factory: %s" % moduleName)
factory = None
try:
@@ -121,6 +109,32 @@ def init():
else:
_speechserver = factory.SpeechServer.getSpeechServer()
+def init():
+
+ if _speechserver:
+ return
+
+ try:
+ moduleName = settings.speechServerFactory
+ _initSpeechServer(moduleName,
+ settings.speechServerInfo)
+ except:
+ moduleNames = settings.speechFactoryModules
+ for moduleName in moduleNames:
+ if moduleName != settings.speechServerFactory:
+ try:
+ _initSpeechServer(moduleName, None)
+ if _speechserver:
+ break
+ except:
+ debug.printException(debug.LEVEL_SEVERE)
+
+ if _speechserver:
+ debug.println(debug.LEVEL_CONFIGURATION,
+ "Using speech server factory: %s" % moduleName)
+ else:
+ debug.println(debug.LEVEL_CONFIGURATION, "Speech not available.")
+
def __resolveACSS(acss=None):
if acss:
return acss
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]