aboutsummaryrefslogtreecommitdiff
path: root/requests/structures.py
diff options
context:
space:
mode:
authorSVN-Git Migration <python-modules-team@lists.alioth.debian.org>2015-10-08 13:41:25 -0700
committerSVN-Git Migration <python-modules-team@lists.alioth.debian.org>2015-10-08 13:41:25 -0700
commit9f376f89bdf80a40914218d64cd9cd61b25f449d (patch)
tree6205015b49c53a3178573532cfcd10dcd7f2d121 /requests/structures.py
parentd4aa2de2bb89ca384ad81db731bb99735e1db788 (diff)
downloadpython-requests-9f376f89bdf80a40914218d64cd9cd61b25f449d.tar
python-requests-9f376f89bdf80a40914218d64cd9cd61b25f449d.tar.gz
Imported Upstream version 1.1.0
Diffstat (limited to 'requests/structures.py')
-rw-r--r--requests/structures.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/requests/structures.py b/requests/structures.py
index 3746754..6c2e0b2 100644
--- a/requests/structures.py
+++ b/requests/structures.py
@@ -8,6 +8,28 @@ Data structures that power Requests.
"""
+import os
+from itertools import islice
+
+class IteratorProxy(object):
+ """docstring for IteratorProxy"""
+ def __init__(self, i):
+ self.i = i
+ # self.i = chain.from_iterable(i)
+
+ def __iter__(self):
+ return self.i
+
+ def __len__(self):
+ if hasattr(self.i, '__len__'):
+ return len(self.i)
+ if hasattr(self.i, 'len'):
+ return self.i.len
+ if hasattr(self.i, 'fileno'):
+ return os.fstat(self.i.fileno()).st_size
+
+ def read(self, n):
+ return "".join(islice(self.i, None, n))
class CaseInsensitiveDict(dict):
"""Case-insensitive Dictionary
@@ -30,7 +52,7 @@ class CaseInsensitiveDict(dict):
self._clear_lower_keys()
def __delitem__(self, key):
- dict.__delitem__(self, key)
+ dict.__delitem__(self, self.lower_keys.get(key.lower(), key))
self._lower_keys.clear()
def __contains__(self, key):
@@ -47,6 +69,7 @@ class CaseInsensitiveDict(dict):
else:
return default
+
class LookupDict(dict):
"""Dictionary lookup object."""