1.1 --- a/WebStack/Helpers/Session.py Sat Sep 18 17:04:00 2004 +0000
1.2 +++ b/WebStack/Helpers/Session.py Sat Sep 18 17:30:26 2004 +0000
1.3 @@ -179,10 +179,29 @@
1.4 else:
1.5 raise AttributeError, name
1.6
1.7 + def __getitem__(self, name):
1.8 + # Convert to UTF-8 to avoid bsddb limitations.
1.9 + return self.store[name.encode("utf-8")]
1.10 +
1.11 + def __delitem__(self, name):
1.12 + # Convert to UTF-8 to avoid bsddb limitations.
1.13 + del self.store[name.encode("utf-8")]
1.14 +
1.15 + def __setitem__(self, name, value):
1.16 + # Convert to UTF-8 to avoid bsddb limitations.
1.17 + self.store[name.encode("utf-8")] = value
1.18 +
1.19 + def keys(self):
1.20 + l = []
1.21 + for key in self.store.keys():
1.22 + # Convert from UTF-8 to avoid bsddb limitations.
1.23 + l.append(unicode(key, "utf-8"))
1.24 + return l
1.25 +
1.26 def items(self):
1.27 l = []
1.28 - for key in self.store.keys():
1.29 - l.append((key, self.store[key]))
1.30 + for key in self.keys():
1.31 + l.append((key, self[key]))
1.32 return l
1.33
1.34 # vim: tabstop=4 expandtab shiftwidth=4