Merge branch 'develop' of https://github.com/tgulacsi/requests into develop

This commit is contained in:
Kenneth Reitz
2011-07-23 21:45:45 -04:00
3 changed files with 30 additions and 7 deletions
+1
View File
@@ -28,3 +28,4 @@ Patches and Suggestions
- Alberto Paro
- Jérémy Bethmont
- 潘旭 (Xu Pan)
- Tamás Gulácsi
+25 -6
View File
@@ -9,20 +9,39 @@ Datastructures that power Requests.
"""
class CaseInsensitiveDict(dict):
"""Case-insensitive Dictionary for :class:`Response <models.Response>` Headers.
"""Case-insensitive Dictionary
For example, ``headers['content-encoding']`` will return the
value of a ``'Content-Encoding'`` response header."""
def _lower_keys(self):
return map(str.lower, self.keys())
@property
def lower_keys(self):
if not hasattr(self, '_lower_keys') or not self._lower_keys:
self._lower_keys = dict((k.lower(), k) for k in self.iterkeys())
return self._lower_keys
def _clear_lower_keys(self):
if hasattr(self, '_lower_keys'):
self._lower_keys.clear()
def __setitem__(self, key, value):
dict.__setitem__(self, key, value)
self._clear_lower_keys()
def __delitem__(self, key):
dict.__delitem__(self, key)
self._lower_keys.clear()
def __contains__(self, key):
return key.lower() in self._lower_keys()
return key.lower() in self.lower_keys
def __getitem__(self, key):
# We allow fall-through here, so values default to None
if key in self:
return self.items()[self._lower_keys().index(key.lower())][1]
return dict.__getitem__(self, self.lower_keys[key.lower()])
def get(self, key, default=None):
if key in self:
return self[key]
else:
return default
+4 -1
View File
@@ -6,7 +6,10 @@ from __future__ import with_statement
import unittest
import cookielib
import omnijson as json
try:
import omnijson as json
except ImportError:
import simplejson as json
import requests