[rhmessaging-commits] rhmessaging commits: r3768 - mgmt/trunk/parsley/python/parsley.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Fri Jan 8 10:41:13 EST 2010


Author: justi9
Date: 2010-01-08 10:41:13 -0500 (Fri, 08 Jan 2010)
New Revision: 3768

Added:
   mgmt/trunk/parsley/python/parsley/collectionsex.py
Log:
A new extension library for supporting defaultdict on older pythons

Added: mgmt/trunk/parsley/python/parsley/collectionsex.py
===================================================================
--- mgmt/trunk/parsley/python/parsley/collectionsex.py	                        (rev 0)
+++ mgmt/trunk/parsley/python/parsley/collectionsex.py	2010-01-08 15:41:13 UTC (rev 3768)
@@ -0,0 +1,17 @@
+try:
+    from collections import defaultdict
+except ImportError:
+    class defaultdict(dict):
+        def __init__(self, default_factory=None):
+            super(dict, self).__init__()
+
+            self.default_factory = default_factory
+
+        def __getitem__(self, key):
+            try:
+                super(dict, self).__getitem__(key)
+            except KeyError:
+                if self.default_factory is None:
+                    raise
+                else:
+                    return self.default_factory()



More information about the rhmessaging-commits mailing list