diff options
author | pgjones <philip.graham.jones@googlemail.com> | 2015-10-30 20:20:58 +0000 |
---|---|---|
committer | pgjones <philip.graham.jones@googlemail.com> | 2015-10-30 20:20:58 +0000 |
commit | 6ab120558078bdcbfbe06d2ca55bd7a0d417bbb4 (patch) | |
tree | 9b51224766e3f5faab2d9e313f704187b01edde0 | |
parent | 98c1dcc6bcade313a254fe11e8efa3c5b5ad959e (diff) | |
download | sqlalchemy-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.py | 2 | ||||
-rw-r--r-- | lib/sqlalchemy/ext/associationproxy.py | 4 |
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: |