[orca] Move getSpeechServerFactories() to settings manager



commit c79bd807d41498f9572c57a574087a2e2822249a
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Tue Jan 11 17:25:33 2022 +0100

    Move getSpeechServerFactories() to settings manager
    
    It's only used by the prefs UI and doesn't belong in speech.py.

 src/orca/orca_gui_prefs.py   |  2 +-
 src/orca/settings_manager.py | 16 ++++++++++++++++
 src/orca/speech.py           | 18 ------------------
 3 files changed, 17 insertions(+), 19 deletions(-)
---
diff --git a/src/orca/orca_gui_prefs.py b/src/orca/orca_gui_prefs.py
index 4255eb8a2..0afbb3845 100644
--- a/src/orca/orca_gui_prefs.py
+++ b/src/orca/orca_gui_prefs.py
@@ -986,7 +986,7 @@ class OrcaSetupGUI(orca_gtkbuilder.GtkBuilderWrapper):
         #
         # Where * = speechSystems, speechServers, speechLanguages, speechFamilies
         #
-        factories = speech.getSpeechServerFactories()
+        factories = _settingsManager.getSpeechServerFactories()
         if len(factories) == 0 or not self.prefsDict.get('enableSpeech', True):
             self.workingFactories = []
             self.speechSystemsChoice = None
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index f5a6763c1..17e6cd232 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -287,6 +287,22 @@ class SettingsManager(object):
             lang = "%s_%s" % (lang, dialect.upper())
         return lang
 
+    def getSpeechServerFactories(self):
+        """Imports all known SpeechServer factory modules."""
+
+        factories = []
+        for moduleName in self.getSetting('speechFactoryModules'):
+            try:
+                module = importlib.import_module('orca.%s' % moduleName)
+                factories.append(module)
+                msg = "SETTINGS MANAGER: Valid speech server factory: %s" % moduleName
+                debug.println(debug.LEVEL_INFO, msg, True)
+            except:
+                msg = "SETTINGS MANAGER: Invalid speech server factory: %s" % moduleName
+                debug.println(debug.LEVEL_INFO, msg, True)
+
+        return factories
+
     def _loadProfileSettings(self, profile=None):
         """Get from the active backend all the settings for the current
         profile and store them in the object's attributes.
diff --git a/src/orca/speech.py b/src/orca/speech.py
index 2942c8742..82f57fb6b 100644
--- a/src/orca/speech.py
+++ b/src/orca/speech.py
@@ -48,24 +48,6 @@ _speechserver = None
 # The last time something was spoken.
 _timestamp = 0
 
-def getSpeechServerFactories():
-    """Imports all known SpeechServer factory modules.  Returns a list
-    of modules that implement the getSpeechServers method, which
-    returns a list of speechserver.SpeechServer instances.
-    """
-
-    factories = []
-
-    moduleNames = settings.speechFactoryModules
-    for moduleName in moduleNames:
-        try:
-            module = importlib.import_module('orca.%s' % moduleName)
-            factories.append(module)
-        except:
-            debug.printException(debug.LEVEL_CONFIGURATION)
-
-    return factories
-
 def _initSpeechServer(moduleName, speechServerInfo):
 
     global _speechserver


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]