diff options
author | Simo Sorce <simo@redhat.com> | 2015-01-26 16:34:17 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2015-01-26 16:57:35 -0500 |
commit | 641a77ef0a3c4f0b933422850425a62c9f05de13 (patch) | |
tree | 79e18b618b0dbfb03434e315f0c9ed336c9d4910 | |
parent | 74194d5d36cfc1be67e92924585731e9b3894605 (diff) | |
download | ipsilon-provsess.tar.gz ipsilon-provsess.tar.xz ipsilon-provsess.zip |
Add helper to store provider specific dataprovsess
Signed-off-by: Simo Sorce <simo@redhat.com>
-rw-r--r-- | ipsilon/util/user.py | 21 |
1 files changed, 21 insertions, 0 deletions
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: |