diff src/memory/memory.py @ 639:99eee75ec1b7

core: better handling of profile_key and don't write the param file anymore - new error ProfileNotSetError and some methods use the default @NONE@ instead of @DEFAULT@ - do not output the .sat/param file anymore, it is not needed and created confusion - plugin XEP-0054: remove an error message at startup
author souliane <souliane@mailoo.org>
date Thu, 05 Sep 2013 21:03:52 +0200
parents eff8772fd472
children 49587e170f53
line wrap: on
line diff
--- a/src/memory/memory.py	Thu Sep 05 20:57:00 2013 +0200
+++ b/src/memory/memory.py	Thu Sep 05 21:03:52 2013 +0200
@@ -195,6 +195,8 @@
                     info(_('No profile exist yet'))
                     return ""
             return default  # FIXME: temporary, must use real default value, and fallback to first one if it doesn't exists
+        elif profile_key == '@NONE@':
+            raise exceptions.ProfileNotSetError
         if not self.storage.hasProfile(profile_key):
             info(_('Trying to access an unknown profile'))
             return ""
@@ -275,11 +277,11 @@
             return "true" if result else "false"
         return result
 
-    def getStringParamA(self, name, category, attr="value", profile_key="@DEFAULT@"):
+    def getStringParamA(self, name, category, attr="value", profile_key="@NONE@"):
         """ Same as getParamA but for bridge: convert non string value to string """
         return self.__type_to_string(self.getParamA(name, category, attr, profile_key))
 
-    def getParamA(self, name, category, attr="value", profile_key="@DEFAULT@"):
+    def getParamA(self, name, category, attr="value", profile_key="@NONE@"):
         """Helper method to get a specific attribute
            @param name: name of the parameter
            @param category: category of the parameter
@@ -312,12 +314,12 @@
             value = self.__getParam(profile, category, name)
             return self.__getAttr(node[1], attr, value)
 
-    def asyncGetStringParamA(self, name, category, attr="value", profile_key="@DEFAULT@"):
+    def asyncGetStringParamA(self, name, category, attr="value", profile_key="@NONE@"):
         d = self.asyncGetParamA(name, category, attr, profile_key)
         d.addCallback(self.__type_to_string)
         return d
 
-    def asyncGetParamA(self, name, category, attr="value", profile_key="@DEFAULT@"):
+    def asyncGetParamA(self, name, category, attr="value", profile_key="@NONE@"):
         """Helper method to get a specific attribute
            @param name: name of the parameter
            @param category: category of the parameter
@@ -678,7 +680,8 @@
         param_file_xml = os.path.expanduser(self.getConfig('', 'local_dir') +
                                             self.host.get_const('savefile_param_xml'))
 
-        self.params.save_xml(param_file_xml)
+        # TODO: check if this method is still needed
+        #self.params.save_xml(param_file_xml)
         debug(_("params saved"))
 
     def getProfilesList(self):
@@ -894,16 +897,16 @@
 
         return self.subscriptions[profile]
 
-    def getStringParamA(self, name, category, attr="value", profile_key='@DEFAULT@'):
+    def getStringParamA(self, name, category, attr="value", profile_key='@NONE@'):
         return self.params.getStringParamA(name, category, attr, profile_key)
 
-    def getParamA(self, name, category, attr="value", profile_key='@DEFAULT@'):
+    def getParamA(self, name, category, attr="value", profile_key='@NONE@'):
         return self.params.getParamA(name, category, attr, profile_key)
 
-    def asyncGetParamA(self, name, category, attr="value", profile_key='@DEFAULT@'):
+    def asyncGetParamA(self, name, category, attr="value", profile_key='@NONE@'):
         return self.params.asyncGetParamA(name, category, attr, profile_key)
 
-    def asyncGetStringParamA(self, name, category, attr="value", profile_key='@DEFAULT@'):
+    def asyncGetStringParamA(self, name, category, attr="value", profile_key='@NONE@'):
         return self.params.asyncGetStringParamA(name, category, attr, profile_key)
 
     def getParamsUI(self, security_limit, profile_key):