From 641a77ef0a3c4f0b933422850425a62c9f05de13 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 26 Jan 2015 16:34:17 -0500 Subject: Add helper to store provider specific data Signed-off-by: Simo Sorce --- ipsilon/util/user.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ipsilon/util/user.py b/ipsilon/util/user.py index 5a8f159..e7c1b23 100644 --- a/ipsilon/util/user.py +++ b/ipsilon/util/user.py @@ -158,6 +158,27 @@ class UserSession(Log): self._debug('Saved user attrs') self.userattrs = userattrs + def _get_provider_attr_name(self, provider): + return '%s_data' % provider + + def get_provider_data(self, provider): + attr = self._get_provider_attr_name(provider) + data = dict() + if attr in cherrypy.session: + data = cherrypy.session[attr] + return data + + def replace_provider_data(self, provider, data): + attr = self._get_provider_attr_name(provider) + cherrypy.session[attr] = data + cherrypy.session.save() + self._debug('Saved %s provider data' % provider) + + def set_provider_data_attribute(self, provider, attr, value): + data = self.get_provider_data(provider) + data['attr'] = value + self.replace_provider_data(provider, data) + def save_data(self, facility, name, data): """ Save named data in the session so it can be retrieved later """ if facility not in cherrypy.session: -- cgit