# HG changeset patch # User paulb # Date 1095528626 0 # Node ID 77f9a81b7751c975d4a0045f016e12787b9b86af # Parent 83bed518a778b4cf28131bc3a795f7cbb00ccd98 [project @ 2004-09-18 17:30:26 by paulb] Added Unicode to UTF-8 translation for keys in bsddb. diff -r 83bed518a778 -r 77f9a81b7751 WebStack/Helpers/Session.py --- a/WebStack/Helpers/Session.py Sat Sep 18 17:04:00 2004 +0000 +++ b/WebStack/Helpers/Session.py Sat Sep 18 17:30:26 2004 +0000 @@ -179,10 +179,29 @@ else: raise AttributeError, name + def __getitem__(self, name): + # Convert to UTF-8 to avoid bsddb limitations. + return self.store[name.encode("utf-8")] + + def __delitem__(self, name): + # Convert to UTF-8 to avoid bsddb limitations. + del self.store[name.encode("utf-8")] + + def __setitem__(self, name, value): + # Convert to UTF-8 to avoid bsddb limitations. + self.store[name.encode("utf-8")] = value + + def keys(self): + l = [] + for key in self.store.keys(): + # Convert from UTF-8 to avoid bsddb limitations. + l.append(unicode(key, "utf-8")) + return l + def items(self): l = [] - for key in self.store.keys(): - l.append((key, self.store[key])) + for key in self.keys(): + l.append((key, self[key])) return l # vim: tabstop=4 expandtab shiftwidth=4