From 3f2de803181ca3c5526ec9d708b2098b8f683808 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Tue, 16 Jun 2015 11:46:32 -0400 Subject: [PATCH] Refs #23763 -- Fixed Python 3.5 PendingDeprecationWarning in LazyStream. Fixed "PendingDeprecationWarning: generator 'LazyStream.read..parts' raised StopIteration" per PEP 0479. --- django/http/multipartparser.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/django/http/multipartparser.py b/django/http/multipartparser.py index 53e4149519..375584e4f3 100644 --- a/django/http/multipartparser.py +++ b/django/http/multipartparser.py @@ -327,12 +327,15 @@ class LazyStream(six.Iterator): while remaining != 0: assert remaining > 0, 'remaining bytes to read should never go negative' - chunk = next(self) - - emitting = chunk[:remaining] - self.unget(chunk[remaining:]) - remaining -= len(emitting) - yield emitting + try: + chunk = next(self) + except StopIteration: + return + else: + emitting = chunk[:remaining] + self.unget(chunk[remaining:]) + remaining -= len(emitting) + yield emitting out = b''.join(parts()) return out