summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZane Bitter <zbitter@redhat.com>2018-10-23 13:32:28 -0400
committerZane Bitter <zbitter@redhat.com>2018-10-23 13:32:28 -0400
commit10e5c641ecd45d896d25b0511438c9a9ce3c59e4 (patch)
tree8f5aefb72b21d6d0ee52bcc5ce218fe7186a936d
parent777b6cd5b6b2159d32461846f53617fc7cb962be (diff)
downloadpaste-git-10e5c641ecd45d896d25b0511438c9a9ce3c59e4.tar.gz
Make iterators Python3-compatible
In Python3, the iterator protocol uses a method named __next__(), not next(). (For compatibility with Python 2.6, we still need to support both though.) Ensure all iterator objects support the Python3 protocol. Signed-off-by: Zane Bitter <zbitter@redhat.com>
-rwxr-xr-xpaste/httpserver.py1
-rw-r--r--paste/wsgilib.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/paste/httpserver.py b/paste/httpserver.py
index 11489b0..8bacfbc 100755
--- a/paste/httpserver.py
+++ b/paste/httpserver.py
@@ -513,6 +513,7 @@ class LimitedLengthFile(object):
if self.length - self._consumed <= 0:
raise StopIteration
return self.readline()
+ __next__ = next
## Optional methods ##
diff --git a/paste/wsgilib.py b/paste/wsgilib.py
index d5862e7..7993f29 100644
--- a/paste/wsgilib.py
+++ b/paste/wsgilib.py
@@ -126,6 +126,7 @@ class chained_app_iters(object):
except StopIteration:
self.chained.pop(0)
return self.next()
+ __next__ = next
def close(self):
self._closed = True
@@ -216,6 +217,7 @@ class _wrap_app_iter(object):
except:
self.error_callback(sys.exc_info())
raise
+ __next__ = next
def catch_errors_app(application, environ, start_response, error_callback_app,
ok_callback=None, catch=Exception):
@@ -278,6 +280,7 @@ class _wrap_app_iter_app(object):
self.close = new_app_iterable.close
self.next = app_iter.next
return self.next()
+ __next__ = next
def raw_interactive(application, path='', raise_on_wsgi_error=False,
**environ):