mirror of https://github.com/mahmoud/boltons.git
add some tweaks, notes, TODOs (and doctest bits)
This commit is contained in:
parent
0581d50e83
commit
a406aa89d2
|
@ -29,7 +29,7 @@ class OrderedMultiDict(dict):
|
||||||
>>> omd.add('a', 3)
|
>>> omd.add('a', 3)
|
||||||
>>> omd
|
>>> omd
|
||||||
OrderedMultiDict([('a', 1), ('b', 2), ('a', 3)])
|
OrderedMultiDict([('a', 1), ('b', 2), ('a', 3)])
|
||||||
>>> omd.popitem('a')
|
>>> omd.poplast('a')
|
||||||
3
|
3
|
||||||
>>> omd
|
>>> omd
|
||||||
OrderedMultiDict([('a', 1), ('b', 2)])
|
OrderedMultiDict([('a', 1), ('b', 2)])
|
||||||
|
@ -50,7 +50,9 @@ class OrderedMultiDict(dict):
|
||||||
super(OrderedMultiDict, self).__init__()
|
super(OrderedMultiDict, self).__init__()
|
||||||
|
|
||||||
self._clear_ll()
|
self._clear_ll()
|
||||||
|
if args:
|
||||||
self.update_extend(args[0])
|
self.update_extend(args[0])
|
||||||
|
if kwargs:
|
||||||
self.update(kwargs)
|
self.update(kwargs)
|
||||||
|
|
||||||
def _clear_ll(self):
|
def _clear_ll(self):
|
||||||
|
@ -103,9 +105,10 @@ class OrderedMultiDict(dict):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def fromkeys(cls, keys, default=None):
|
def fromkeys(cls, keys, default=None):
|
||||||
return cls((k, default) for k in keys)
|
return cls([(k, default) for k in keys])
|
||||||
|
|
||||||
def update(self, E, **F):
|
def update(self, E, **F):
|
||||||
|
# E and F are throwback names to the dict() __doc__
|
||||||
if E is self:
|
if E is self:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -168,6 +171,7 @@ class OrderedMultiDict(dict):
|
||||||
return False
|
return False
|
||||||
if not(next(selfi, _MISSING) is _MISSING
|
if not(next(selfi, _MISSING) is _MISSING
|
||||||
and next(otheri, _MISSING) is _MISSING):
|
and next(otheri, _MISSING) is _MISSING):
|
||||||
|
# leftovers (TODO: watch for StopIteration?)
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
elif hasattr(other, 'keys'):
|
elif hasattr(other, 'keys'):
|
||||||
|
@ -252,20 +256,20 @@ class OrderedMultiDict(dict):
|
||||||
curr = curr[PREV]
|
curr = curr[PREV]
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
name = self.__class__.__name__
|
cn = self.__class__.__name__
|
||||||
kvs = ', '.join(repr((k, v)) for k, v in self.iteritems(multi=True))
|
kvs = ', '.join([repr((k, v)) for k, v in self.iteritems(multi=True)])
|
||||||
return '%s([%s])' % (name, kvs)
|
return '%s([%s])' % (cn, kvs)
|
||||||
|
|
||||||
def viewkeys(self):
|
def viewkeys(self):
|
||||||
"od.viewkeys() -> a set-like object providing a view on od's keys"
|
"OMD.viewkeys() -> a set-like object providing a view on OMD's keys"
|
||||||
return KeysView(self)
|
return KeysView(self)
|
||||||
|
|
||||||
def viewvalues(self):
|
def viewvalues(self):
|
||||||
"od.viewvalues() -> an object providing a view on od's values"
|
"OMD.viewvalues() -> an object providing a view on OMD's values"
|
||||||
return ValuesView(self)
|
return ValuesView(self)
|
||||||
|
|
||||||
def viewitems(self):
|
def viewitems(self):
|
||||||
"od.viewitems() -> a set-like object providing a view on od's items"
|
"OMD.viewitems() -> a set-like object providing a view on OMD's items"
|
||||||
return ItemsView(self)
|
return ItemsView(self)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue