supporting codes class
authorKenneth Reitz <me@kennethreitz.com>
Sat, 13 Aug 2011 18:50:48 +0000 (14:50 -0400)
committerKenneth Reitz <me@kennethreitz.com>
Sat, 13 Aug 2011 18:50:48 +0000 (14:50 -0400)
requests/structures.py

index dd5168cf4e4eff9d0deafe104b2c1608065ad4d5..d068bf9cddf2d10f46c2142480ccb2bb1d1fd627 100644 (file)
@@ -45,3 +45,21 @@ class CaseInsensitiveDict(dict):
             return self[key]
         else:
             return default
+
+class LookupDict(dict):
+    """Dictionary lookup object."""
+
+    def __init__(self, name=None):
+        self.name = name
+        super(LookupDict, self).__init__()
+
+    def __repr__(self):
+        return '<lookup \'%s\'>' % (self.name)
+
+    def __getitem__(self, key):
+        # We allow fall-through here, so values default to None
+
+        return self.__dict__.get(key, None)
+
+    def get(self, key, default=None):
+        return self.__dict__.get(key, default)
\ No newline at end of file