major rewrite
[wifi-assistant] / package / src / wifi_assistant / settings / NetworkSettings.py
diff --git a/package/src/wifi_assistant/settings/NetworkSettings.py b/package/src/wifi_assistant/settings/NetworkSettings.py
deleted file mode 100644 (file)
index 0eacaeb..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-import gnome.gconf as gconf
-from NetworkSetting import NetworkSetting
-import gtk, gobject
-
-
-class NetworkSettings(object):
-    '''
-    Reads and Writes NetworkSettings from/to GConf.
-    '''
-
-    __DEFAULT_SETTINGS = 'default_settings'
-    
-    def __init__(self, gconf_client, root_path):
-        self._gc = gconf_client
-        self._root_path = root_path
-        
-    
-    def delete(self, launch_setting):
-        key = self._assembleRootKeyForSsid(launch_setting.getNetworkName())
-        self._recursive_unset(key)
-        
-        
-    def getDefaultSettings(self):
-        settings = self.get(self.__DEFAULT_SETTINGS)
-        if settings is None:
-            settings = NetworkSetting()
-            settings.setNetworkName(self.__DEFAULT_SETTINGS)
-            settings.setLaunchingOfBrowserEnabled(True)
-            settings.setBrowserOptions({'url':'http://wifi-assistant.garage.maemo.org/'})
-            self.save(settings)
-        return settings
-    
-
-    def getListStore(self):
-        """Returns a ListStore with one Row per Network Setting"""
-
-        store = gtk.ListStore(str, gobject.TYPE_BOOLEAN)
-        settings = self._getAllNetworkSettings()
-        for setting in settings:
-            store.append([setting.getNetworkName(), setting.getLaunchingOfBrowserEnabled()])
-        return store
-    
-
-    def get(self, ssid):
-        key = self._assembleRootKeyForSsid(ssid)
-        if self._gc.dir_exists(key):
-            return NetworkSetting(self._loadValuesFromGConf(key))
-        print "WARNING: No settings to return for network name", ssid
-        return None
-    
-    
-    def save(self, launch_setting):
-        self._saveValuesToGConf(launch_setting)
-    
-    
-    def _assembleRootKeyForSsid(self, ssid):
-        safe = self._replaceForbiddenCharacters(ssid)
-        return self._root_path + '/' + safe
-    
-    
-    def _getAllNetworkSettings(self):
-        dirs = self._gc.all_dirs(self._root_path)
-        settings = []
-        key_offset = len(self._root_path) + 1
-        for dir in dirs:
-            key = dir[key_offset:]
-            if self.__DEFAULT_SETTINGS != key:
-                settings.append(self.get(key))
-        return settings
-    
-    
-    def _loadValuesFromGConf(self, path):
-        """Loads all values under a given path in gconf recursively into a dict"""
-        
-        values = {}
-        path_length = len(path) + 1 # remove trailing / too
-        
-        dirs = self._gc.all_dirs(path)
-        for sub_dir_path in dirs:
-            key = sub_dir_path[path_length:]
-            values[key] = self._loadValuesFromGConf(sub_dir_path)
-        
-        entries = self._gc.all_entries(path)
-        for entry in entries:
-            full_key = entry.get_key()
-            key = full_key[path_length:]
-            gvalue = entry.get_value()
-            if gvalue.type == gconf.VALUE_BOOL:
-                values[key] = gvalue.get_bool()
-            elif gvalue.type == gconf.VALUE_STRING:
-                values[key] = gvalue.get_string()
-            else:
-                print 'ga'
-        
-        return values
-    
-    
-    def _recursive_unset(self, dir):
-        # there's no recursive_unset available in gconf so we'll have to do it ourselves
-        all_entries = self._gc.all_entries(dir)
-        for entry in all_entries:
-            self._gc.unset(entry.get_key())
-        for sub_dir in self._gc.all_dirs(dir):
-            self._recursive_unset(sub_dir)
-        self._gc.suggest_sync()
-
-    
-    def _replaceForbiddenCharacters(self, str):
-        allowed = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_'
-        result = ''
-        for c in str:
-            if c in allowed:
-                result = result + c
-            else:
-                result = result + '__'
-        return result
-    
-    
-    def _saveValuesToGConf(self, launch_setting):
-        """Saves all values "recursively" from NetworkSetting"""
-        
-        network_name = launch_setting.getNetworkName()
-        key = self._assembleRootKeyForSsid(network_name)
-        browser = launch_setting.getNameOfBrowserToLaunch()
-        launch = launch_setting.getLaunchingOfBrowserEnabled()
-        options = launch_setting.getBrowserOptions()
-        
-        self._gc.set_string(key + "/name", network_name)
-        self._gc.set_string(key + '/browser', browser)
-        self._gc.set_bool(key + '/launch', launch)
-        for option_key in options:
-            self._gc.set_string(key + "/options/" + option_key, options[option_key])
-        
\ No newline at end of file