Add helpers to store per plugin user preferences
authorSimo Sorce <simo@redhat.com>
Wed, 8 Oct 2014 22:13:15 +0000 (18:13 -0400)
committerPatrick Uiterwijk <puiterwijk@redhat.com>
Fri, 24 Oct 2014 16:02:20 +0000 (18:02 +0200)
Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
ipsilon/util/data.py
ipsilon/util/user.py

index 78fa5ab..5672d04 100755 (executable)
@@ -317,7 +317,16 @@ class UserStore(Store):
         super(UserStore, self).__init__('user.prefs.db')
 
     def save_user_preferences(self, user, options):
-        return self.save_options('users', user, options)
+        self.save_options('users', user, options)
+
+    def load_user_preferences(self, user):
+        return self.load_options('users', user)
+
+    def save_plugin_data(self, plugin, user, options):
+        self.save_options(plugin+"_data", user, options)
+
+    def load_plugin_data(self, plugin, user):
+        return self.load_options(plugin+"_data", user)
 
 
 class TranStore(Store):
index 47cb23c..3a4962d 100755 (executable)
@@ -40,7 +40,7 @@ class User(object):
 
     def _get_user_data(self, username):
         store = UserStore()
-        return store.load_options('users', username)
+        return store.load_user_preferences(username)
 
     def reset(self):
         self.name = None
@@ -98,6 +98,14 @@ class User(object):
         # TODO: implement setting sites via the user object ?
         raise AttributeError
 
+    def save_plugin_data(self, plugin, data):
+        store = UserStore()
+        store.save_plugin_data(plugin, self.name, data)
+
+    def load_plugin_data(self, plugin):
+        store = UserStore()
+        return store.load_plugin_data(plugin, self.name)
+
 
 class UserSession(Log):
     def __init__(self):