aboutsummaryrefslogtreecommitdiffstats
path: root/community/py-factory-boy/python-3.7.patch
blob: 4b1bc6836d8f634520ee2e9ad18ddf1238cfd962 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
From 97f48597d241aca598783f7bcaed34bf7b133343 Mon Sep 17 00:00:00 2001
From: Jon Dufresne <jon.dufresne@gmail.com>
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",