mirror of https://github.com/django/django.git
Fixed #5744 -- Allowed SortedDict contructor to be passed a list of tuples to match the interface of dict, thanks Thomas Güttler.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a3d015fad0
commit
78d557bf02
|
@ -54,7 +54,10 @@ class SortedDict(dict):
|
||||||
def __init__(self, data=None):
|
def __init__(self, data=None):
|
||||||
if data is None: data = {}
|
if data is None: data = {}
|
||||||
dict.__init__(self, data)
|
dict.__init__(self, data)
|
||||||
|
if isinstance(data, dict):
|
||||||
self.keyOrder = data.keys()
|
self.keyOrder = data.keys()
|
||||||
|
else:
|
||||||
|
self.keyOrder=[key for key, value in data]
|
||||||
|
|
||||||
def __setitem__(self, key, value):
|
def __setitem__(self, key, value):
|
||||||
dict.__setitem__(self, key, value)
|
dict.__setitem__(self, key, value)
|
||||||
|
|
|
@ -55,6 +55,14 @@ True
|
||||||
>>> print repr(d)
|
>>> print repr(d)
|
||||||
{'one': 'not one', 'two': 'two', 'three': 'three'}
|
{'one': 'not one', 'two': 'two', 'three': 'three'}
|
||||||
|
|
||||||
|
Init from sequence of tuples
|
||||||
|
>>> d = SortedDict((
|
||||||
|
... (1, "one"),
|
||||||
|
... (0, "zero"),
|
||||||
|
... (2, "two")))
|
||||||
|
>>> print repr(d)
|
||||||
|
{1: 'one', 0: 'zero', 2: 'two'}
|
||||||
|
|
||||||
### DotExpandedDict ############################################################
|
### DotExpandedDict ############################################################
|
||||||
|
|
||||||
>>> d = DotExpandedDict({'person.1.firstname': ['Simon'], 'person.1.lastname': ['Willison'], 'person.2.firstname': ['Adrian'], 'person.2.lastname': ['Holovaty']})
|
>>> d = DotExpandedDict({'person.1.firstname': ['Simon'], 'person.1.lastname': ['Willison'], 'person.2.firstname': ['Adrian'], 'person.2.lastname': ['Holovaty']})
|
||||||
|
|
Loading…
Reference in New Issue