summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpgjones <philip.graham.jones@googlemail.com>2015-10-30 20:20:58 +0000
committerpgjones <philip.graham.jones@googlemail.com>2015-10-30 20:20:58 +0000
commit6ab120558078bdcbfbe06d2ca55bd7a0d417bbb4 (patch)
tree9b51224766e3f5faab2d9e313f704187b01edde0
parent98c1dcc6bcade313a254fe11e8efa3c5b5ad959e (diff)
downloadsqlalchemy-pr/211.tar.gz
Change generator termination from StopIteration to return.pr/211
From [PEP 479](https://www.python.org/dev/peps/pep-0479/) the correct way to terminate a generator is to return (which implicitly raises StopIteration) rather than raise StopIteration. Without this change using sqlalchemy in python 3.5 or greater results in these warnings PendingDeprecationWarning: generator '__iter__' raised StopIteration which this commit should remove.
-rw-r--r--lib/sqlalchemy/engine/result.py2
-rw-r--r--lib/sqlalchemy/ext/associationproxy.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py
index 74a0fce77..7d1425c28 100644
--- a/lib/sqlalchemy/engine/result.py
+++ b/lib/sqlalchemy/engine/result.py
@@ -712,7 +712,7 @@ class ResultProxy(object):
while True:
row = self.fetchone()
if row is None:
- raise StopIteration
+ return
else:
yield row
diff --git a/lib/sqlalchemy/ext/associationproxy.py b/lib/sqlalchemy/ext/associationproxy.py
index 29064ef27..31f16287d 100644
--- a/lib/sqlalchemy/ext/associationproxy.py
+++ b/lib/sqlalchemy/ext/associationproxy.py
@@ -603,7 +603,7 @@ class _AssociationList(_AssociationCollection):
for member in self.col:
yield self._get(member)
- raise StopIteration
+ return
def append(self, value):
item = self._create(value)
@@ -907,7 +907,7 @@ class _AssociationSet(_AssociationCollection):
"""
for member in self.col:
yield self._get(member)
- raise StopIteration
+ return
def add(self, value):
if value not in self: