[orca/new-settings] Some settings manager's code cleaning
- From: Juanje Ojeda Croissier <jojeda src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca/new-settings] Some settings manager's code cleaning
- Date: Fri, 6 Aug 2010 09:38:32 +0000 (UTC)
commit 17872da0138a1fe26da4b73827d759df8a6607fc
Author: Juanje Ojeda <jojeda emergya es>
Date: Fri Aug 6 11:38:13 2010 +0200
Some settings manager's code cleaning
src/orca/settings_manager.py | 34 ++++++++++++++--------------------
1 files changed, 14 insertions(+), 20 deletions(-)
---
diff --git a/src/orca/settings_manager.py b/src/orca/settings_manager.py
index cdaabab..23f8cb3 100644
--- a/src/orca/settings_manager.py
+++ b/src/orca/settings_manager.py
@@ -27,16 +27,12 @@ __date__ = "$Date$"
__copyright__ = "Copyright (c) 2010 Consorcio Fernando de los Rios."
__license__ = "LGPL"
-import os
-import orca
-
-SettingsBackend = None
class Singleton(object):
- def __new__(cls, *args, **kwargs):
- if '__instance' not in vars(cls):
- cls.__instance = object.__new__(cls, *args, **kwargs)
- return cls.__instance
+ def __new__(cls, *args, **kwargs):
+ if '__instance' not in vars(cls):
+ cls.__instance = object.__new__(cls, *args, **kwargs)
+ return cls.__instance
class SettingsManager(Singleton):
"""Settings backend manager. This class manages orca user's settings
@@ -52,7 +48,8 @@ class SettingsManager(Singleton):
If backend isn't defined then uses default backend, in this
case gconf-backend"""
- self.UserSettings = None
+ self.userSettings = None
+ self.backendModule = None
if not backend:
self.backend = self.DEFAULT_BACKEND
@@ -62,38 +59,35 @@ class SettingsManager(Singleton):
def loadBackend(self):
"""Load specific backend for manage user settings"""
- settingsBackend = 'from backends import %s as SettingsBackend' % self.backend
-
- exec settingsBackend
-
try:
- exec settingsBackend
+ self.backendModule = __import__('backends.%s' % self.backend, \
+ globals(), locals(), self.backend)
print '\nimporting %s backend OK!' % self.backend
except:
print '\nUnable to load %s backend' % self.backend
- globals()['SettingsBackend'] = SettingsBackend
-
def loadSettings(self):
"""Load settings from active backend"""
- return SettingsBackend.loadSettings()
+ return self.backendModule.loadSettings()
def writeSettings(self, prefsDict, keyBindingsTreeModel=None,
pronunciationTreeModel=None):
"""Write user settings using active backend"""
- return SettingsBackend.writePreferences(prefsDict, keyBindingsTreeModel, pronunciationTreeModel)
+ return self.backendModule.writePreferences(prefsDict, \
+ keyBindingsTreeModel, \
+ pronunciationTreeModel)
def readPreferences(self):
"""Read current user preferences"""
- return SettingsBackend.readPreferences()
+ return self.backendModule.readPreferences()
def availableProfiles(self):
"""Get available profiles from active backend"""
- return SettingsBackend.availableProfiles()
+ return self.backendModule.availableProfiles()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]