Changeset 6712
- Timestamp:
- 11/25/07 12:10:45 (1 year ago)
- Files:
-
- django/trunk/django/utils/datastructures.py (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/utils/datastructures.py
r6711 r6712 57 57 if data is None: 58 58 data = {} 59 dict.__init__(self,data)59 super(SortedDict, self).__init__(data) 60 60 if isinstance(data, dict): 61 61 self.keyOrder = data.keys() … … 69 69 70 70 def __setitem__(self, key, value): 71 dict.__setitem__(self,key, value)71 super(SortedDict, self).__setitem__(key, value) 72 72 if key not in self.keyOrder: 73 73 self.keyOrder.append(key) 74 74 75 75 def __delitem__(self, key): 76 dict.__delitem__(self,key)76 super(SortedDict, self).__delitem__(key) 77 77 self.keyOrder.remove(key) 78 78 … … 82 82 83 83 def pop(self, k, *args): 84 result = dict.pop(self,k, *args)84 result = super(SortedDict, self).pop(k, *args) 85 85 try: 86 86 self.keyOrder.remove(k) … … 91 91 92 92 def popitem(self): 93 result = dict.popitem(self)93 result = super(SortedDict, self).popitem() 94 94 self.keyOrder.remove(result[0]) 95 95 return result … … 100 100 def iteritems(self): 101 101 for key in self.keyOrder: 102 yield key, dict.__getitem__(self,key)102 yield key, super(SortedDict, self).__getitem__(key) 103 103 104 104 def keys(self): … … 109 109 110 110 def values(self): 111 return [ dict.__getitem__(self,k) for k in self.keyOrder]111 return [super(SortedDict, self).__getitem__(k) for k in self.keyOrder] 112 112 113 113 def itervalues(self): 114 114 for key in self.keyOrder: 115 yield dict.__getitem__(self,key)115 yield super(SortedDict, self).__getitem__(key) 116 116 117 117 def update(self, dict_): … … 122 122 if key not in self.keyOrder: 123 123 self.keyOrder.append(key) 124 return dict.setdefault(self,key, default)124 return super(SortedDict, self).setdefault(key, default) 125 125 126 126 def value_for_index(self, index): … … 136 136 index -= 1 137 137 self.keyOrder.insert(index, key) 138 dict.__setitem__(self,key, value)138 super(SortedDict, self).__setitem__(key, value) 139 139 140 140 def copy(self): … … 174 174 """ 175 175 def __init__(self, key_to_list_mapping=()): 176 dict.__init__(self,key_to_list_mapping)176 super(MultiValueDict, self).__init__(key_to_list_mapping) 177 177 178 178 def __repr__(self): 179 return "<%s: %s>" % (self.__class__.__name__, dict.__repr__(self)) 179 return "<%s: %s>" % (self.__class__.__name__, 180 super(MultiValueDict, self).__repr__()) 180 181 181 182 def __getitem__(self, key): … … 185 186 """ 186 187 try: 187 list_ = dict.__getitem__(self,key)188 list_ = super(MultiValueDict, self).__getitem__(key) 188 189 except KeyError: 189 190 raise MultiValueDictKeyError, "Key %r not found in %r" % (key, self) … … 194 195 195 196 def __setitem__(self, key, value): 196 dict.__setitem__(self,key, [value])197 super(MultiValueDict, self).__setitem__(key, [value]) 197 198 198 199 def __copy__(self): 199 return self.__class__( dict.items(self))200 return self.__class__(super(MultiValueDict, self).items()) 200 201 201 202 def __deepcopy__(self, memo=None): … … 223 224 """Returns an empty list if the requested data doesn't exist.""" 224 225 try: 225 return dict.__getitem__(self,key)226 return super(MultiValueDict, self).__getitem__(key) 226 227 except KeyError: 227 228 return [] 228 229 229 230 def setlist(self, key, list_): 230 dict.__setitem__(self,key, list_)231 super(MultiValueDict, self).__setitem__(key, list_) 231 232 232 233 def setdefault(self, key, default=None): … … 243 244 """Appends an item to the internal list associated with key.""" 244 245 self.setlistdefault(key, []) 245 dict.__setitem__(self,key, self.getlist(key) + [value])246 super(MultiValueDict, self).__setitem__(key, self.getlist(key) + [value]) 246 247 247 248 def items(self): … … 254 255 def lists(self): 255 256 """Returns a list of (key, list) pairs.""" 256 return dict.items(self)257 return super(MultiValueDict, self).items() 257 258 258 259 def values(self):
