summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2010-09-10 19:24:24 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2010-09-10 19:24:24 +0000
commit255147c97e4d71cae7ec6255720b4d265269deb2 (patch)
tree89bf4f65098b0ad43b8a2a6c385edd91805b7015
parentdee7ef802d386951faef012c80a2a668b1926a78 (diff)
Added more readable __str__ and __repr__ methods to MergeDict.
Thanks, john@calixto.net. Fixed #3508. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13721 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--AUTHORS1
-rw-r--r--django/utils/datastructures.py21
2 files changed, 22 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index 047ba919c1..bf63b1057c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -238,6 +238,7 @@ answer newbie questions, and generally made Django that much better:
jcrasta@gmail.com
jdetaeye
jhenry <jhenry@theonion.com>
+ john@calixto.net
Zak Johnson <zakj@nox.cx>
Nis Jørgensen <nis@superlativ.dk>
Michael Josephson <http://www.sdjournal.com/>
diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py
index 3cbbe27b91..4656f60f2b 100644
--- a/django/utils/datastructures.py
+++ b/django/utils/datastructures.py
@@ -77,6 +77,27 @@ class MergeDict(object):
"""Returns a copy of this object."""
return self.__copy__()
+ def __str__(self):
+ '''
+ Returns something like
+
+ "{'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}"
+
+ instead of the generic "<object meta-data>" inherited from object.
+ '''
+ return str(dict(self.items()))
+
+ def __repr__(self):
+ '''
+ Returns something like
+
+ MergeDict({'key1': 'val1', 'key2': 'val2'}, {'key3': 'val3'})
+
+ instead of generic "<object meta-data>" inherited from object.
+ '''
+ dictreprs = ', '.join(repr(d) for d in self.dicts)
+ return '%s(%s)' % (self.__class__.__name__, dictreprs)
+
class SortedDict(dict):
"""
A dictionary that keeps its keys in the order in which they're inserted.