multidict.py (12563:8d59ed22ae79) multidict.py (13663:9b64aeabf9a5)
1# Copyright (c) 2005 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 34 unchanged lines hidden (view full) ---

43 return `dict(self.items())`
44
45 def __contains__(self, key):
46 return self.local.has_key(key) or self.parent.has_key(key)
47
48 def __delitem__(self, key):
49 try:
50 del self.local[key]
1# Copyright (c) 2005 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 34 unchanged lines hidden (view full) ---

43 return `dict(self.items())`
44
45 def __contains__(self, key):
46 return self.local.has_key(key) or self.parent.has_key(key)
47
48 def __delitem__(self, key):
49 try:
50 del self.local[key]
51 except KeyError, e:
51 except KeyError as e:
52 if key in self.parent:
53 self.deleted[key] = True
54 else:
52 if key in self.parent:
53 self.deleted[key] = True
54 else:
55 raise KeyError, e
55 raise KeyError(e)
56
57 def __setitem__(self, key, value):
58 self.deleted.pop(key, False)
59 self.local[key] = value
60
61 def __getitem__(self, key):
62 try:
63 return self.local[key]
56
57 def __setitem__(self, key, value):
58 self.deleted.pop(key, False)
59 self.local[key] = value
60
61 def __getitem__(self, key):
62 try:
63 return self.local[key]
64 except KeyError, e:
64 except KeyError as e:
65 if not self.deleted.get(key, False) and key in self.parent:
66 return self.parent[key]
67 else:
65 if not self.deleted.get(key, False) and key in self.parent:
66 return self.parent[key]
67 else:
68 raise KeyError, e
68 raise KeyError(e)
69
70 def __len__(self):
71 return len(self.local) + len(self.parent)
72
73 def next(self):
74 for key,value in self.local.items():
75 yield key,value
76

--- 24 unchanged lines hidden (view full) ---

101 yield value
102
103 def values(self):
104 return [ value for key,value in self.next() ]
105
106 def get(self, key, default=None):
107 try:
108 return self[key]
69
70 def __len__(self):
71 return len(self.local) + len(self.parent)
72
73 def next(self):
74 for key,value in self.local.items():
75 yield key,value
76

--- 24 unchanged lines hidden (view full) ---

101 yield value
102
103 def values(self):
104 return [ value for key,value in self.next() ]
105
106 def get(self, key, default=None):
107 try:
108 return self[key]
109 except KeyError, e:
109 except KeyError as e:
110 return default
111
112 def setdefault(self, key, default):
113 try:
114 return self[key]
115 except KeyError:
116 self.deleted.pop(key, False)
117 self.local[key] = default

--- 67 unchanged lines hidden ---
110 return default
111
112 def setdefault(self, key, default):
113 try:
114 return self[key]
115 except KeyError:
116 self.deleted.pop(key, False)
117 self.local[key] = default

--- 67 unchanged lines hidden ---