* Fixed issue #29, thank you to Jason Nolen for reporting it. Prior

versions of Python used a different name for base64 functions, so 
  a wrapper has been added to lib.py to enable both old- and new-
  style functions to be used.
This commit is contained in:
Ross Poulton
2008-11-18 00:14:36 +00:00
parent 3361e08458
commit 77f3e71bd9
3 changed files with 21 additions and 8 deletions

View File

@ -880,14 +880,16 @@ class UserSettings(models.Model):
def _set_settings(self, data):
# data should always be a Python dictionary.
import cPickle, base64
self.settings_pickled = base64.urlsafe_b64encode(cPickle.dumps(data))
import cPickle
from helpdesk.lib import b64encode
self.settings_pickled = b64encode(cPickle.dumps(data))
def _get_settings(self):
# return a python dictionary representing the pickled data.
import cPickle, base64
import cPickle
from helpdesk.lib import b64decode
try:
return cPickle.loads(base64.urlsafe_b64decode(str(self.settings_pickled)))
return cPickle.loads(b64decode(str(self.settings_pickled)))
except cPickle.UnpicklingError:
return {}