From 97f48597d241aca598783f7bcaed34bf7b133343 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Tue, 28 Aug 2018 04:40:26 -0700 Subject: [PATCH] Add testing and support for Python 3.7 and Django 2.1 Python 3.7 was released on June 27, 2018. Django 2.1 was released on August 1, 2018. https://docs.python.org/3/whatsnew/3.7.html https://docs.djangoproject.com/en/2.1/releases/2.1/ Fixes #492 --- .travis.yml | 23 ++++++++++++++++++++--- README.rst | 2 +- docs/changelog.rst | 3 ++- factory/utils.py | 10 +++++++--- setup.py | 6 +++++- tox.ini | 7 +++++-- 6 files changed, 40 insertions(+), 11 deletions(-) diff --git a/factory/utils.py b/factory/utils.py index 7bf38dd..15d87e4 100644 --- a/factory/utils.py +++ b/factory/utils.py @@ -73,9 +73,13 @@ def __iter__(self): if self.next_elements: yield self.next_elements.popleft() else: - value = next(self.iterator) - self.past_elements.append(value) - yield value + try: + value = next(self.iterator) + except StopIteration: + break + else: + self.past_elements.append(value) + yield value def reset(self): self.next_elements.clear() diff --git a/setup.py b/setup.py index 4291c80..07fb60a 100755 --- a/setup.py +++ b/setup.py @@ -51,8 +51,11 @@ def get_version(package_name): ], classifiers=[ "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", "Framework :: Django", + "Framework :: Django :: 1.11", + "Framework :: Django :: 2.0", + "Framework :: Django :: 2.1", + "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", @@ -62,6 +65,7 @@ def get_version(package_name): "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Testing", "Topic :: Software Development :: Libraries :: Python Modules",