diff options
Diffstat (limited to 'requests/structures.py')
| -rw-r--r-- | requests/structures.py | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/requests/structures.py b/requests/structures.py deleted file mode 100644 index d068bf9..0000000 --- a/requests/structures.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.structures -~~~~~~~~~~~~~~~~~~~ - -Datastructures that power Requests. - -""" - -class CaseInsensitiveDict(dict): - """Case-insensitive Dictionary - - For example, ``headers['content-encoding']`` will return the - value of a ``'Content-Encoding'`` response header.""" - - @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 - - def __getitem__(self, key): - # We allow fall-through here, so values default to None - if key in self: - 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 - -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 |
