summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVytis Banaitis <vytis.banaitis@gmail.com>2017-02-24 03:06:01 +0200
committerTim Graham <timograham@gmail.com>2017-02-23 20:06:01 -0500
commit3dcc3516914f25b58bde9312831f1d94b05cdb53 (patch)
treeac1093e20e9a5b59711000ec42cc4603ca4da664
parent4cffa9a1ffb37d4de7e99a851a9ed87b3c02d229 (diff)
Refs #23919 -- Used yield from.
-rw-r--r--django/contrib/gis/geos/mutable_list.py3
-rw-r--r--django/contrib/staticfiles/storage.py4
-rw-r--r--django/contrib/staticfiles/utils.py3
-rw-r--r--django/core/management/commands/dumpdata.py3
-rw-r--r--django/core/serializers/json.py3
-rw-r--r--django/core/serializers/pyyaml.py3
-rw-r--r--django/db/backends/base/creation.py3
-rw-r--r--django/db/backends/utils.py3
-rw-r--r--django/db/models/expressions.py3
-rw-r--r--django/forms/fields.py3
-rw-r--r--django/forms/widgets.py6
-rw-r--r--django/template/base.py3
-rw-r--r--django/template/context.py6
-rw-r--r--django/template/defaulttags.py9
-rw-r--r--django/template/loaders/cached.py3
-rw-r--r--django/test/client.py3
-rw-r--r--tests/model_forms/models.py3
-rw-r--r--tests/queries/tests.py3
-rw-r--r--tests/template_tests/filter_tests/test_unordered_list.py8
19 files changed, 24 insertions, 51 deletions
diff --git a/django/contrib/gis/geos/mutable_list.py b/django/contrib/gis/geos/mutable_list.py
index fa5faccd1e..867eee7952 100644
--- a/django/contrib/gis/geos/mutable_list.py
+++ b/django/contrib/gis/geos/mutable_list.py
@@ -312,8 +312,7 @@ class ListMixin:
def newItems():
for i in range(origLen + 1):
if i == start:
- for val in valueList:
- yield val
+ yield from valueList
if i < origLen:
if i < start or i >= stop:
diff --git a/django/contrib/staticfiles/storage.py b/django/contrib/staticfiles/storage.py
index 956cf6810f..ac430df40d 100644
--- a/django/contrib/staticfiles/storage.py
+++ b/django/contrib/staticfiles/storage.py
@@ -402,9 +402,7 @@ class ManifestFilesMixin(HashedFilesMixin):
def post_process(self, *args, **kwargs):
self.hashed_files = OrderedDict()
- all_post_processed = super().post_process(*args, **kwargs)
- for post_processed in all_post_processed:
- yield post_processed
+ yield from super().post_process(*args, **kwargs)
self.save_manifest()
def save_manifest(self):
diff --git a/django/contrib/staticfiles/utils.py b/django/contrib/staticfiles/utils.py
index fd530d7167..67a7cb6d9e 100644
--- a/django/contrib/staticfiles/utils.py
+++ b/django/contrib/staticfiles/utils.py
@@ -37,8 +37,7 @@ def get_files(storage, ignore_patterns=None, location=''):
continue
if location:
dir = os.path.join(location, dir)
- for fn in get_files(storage, ignore_patterns, dir):
- yield fn
+ yield from get_files(storage, ignore_patterns, dir)
def check_settings(base_url=None):
diff --git a/django/core/management/commands/dumpdata.py b/django/core/management/commands/dumpdata.py
index 3192241a5f..581c86ef63 100644
--- a/django/core/management/commands/dumpdata.py
+++ b/django/core/management/commands/dumpdata.py
@@ -166,8 +166,7 @@ class Command(BaseCommand):
if count_only:
yield queryset.order_by().count()
else:
- for obj in queryset.iterator():
- yield obj
+ yield from queryset.iterator()
try:
self.stdout.ending = None
diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py
index 31f065a831..af5c74d9fd 100644
--- a/django/core/serializers/json.py
+++ b/django/core/serializers/json.py
@@ -69,8 +69,7 @@ def Deserializer(stream_or_string, **options):
stream_or_string = stream_or_string.decode()
try:
objects = json.loads(stream_or_string)
- for obj in PythonDeserializer(objects, **options):
- yield obj
+ yield from PythonDeserializer(objects, **options)
except (GeneratorExit, DeserializationError):
raise
except Exception as exc:
diff --git a/django/core/serializers/pyyaml.py b/django/core/serializers/pyyaml.py
index b65c9ec3a8..34fc122311 100644
--- a/django/core/serializers/pyyaml.py
+++ b/django/core/serializers/pyyaml.py
@@ -70,8 +70,7 @@ def Deserializer(stream_or_string, **options):
else:
stream = stream_or_string
try:
- for obj in PythonDeserializer(yaml.load(stream, Loader=SafeLoader), **options):
- yield obj
+ yield from PythonDeserializer(yaml.load(stream, Loader=SafeLoader), **options)
except (GeneratorExit, DeserializationError):
raise
except Exception as exc:
diff --git a/django/db/backends/base/creation.py b/django/db/backends/base/creation.py
index a291f43f55..64a1f06949 100644
--- a/django/db/backends/base/creation.py
+++ b/django/db/backends/base/creation.py
@@ -113,8 +113,7 @@ class BaseDatabaseCreation:
if (model._meta.can_migrate(self.connection) and
router.allow_migrate_model(self.connection.alias, model)):
queryset = model._default_manager.using(self.connection.alias).order_by(model._meta.pk.name)
- for obj in queryset.iterator():
- yield obj
+ yield from queryset.iterator()
# Serialize to a string
out = StringIO()
serializers.serialize("json", get_objects(), indent=None, stream=out)
diff --git a/django/db/backends/utils.py b/django/db/backends/utils.py
index 7cb8228226..81eb8693ac 100644
--- a/django/db/backends/utils.py
+++ b/django/db/backends/utils.py
@@ -28,8 +28,7 @@ class CursorWrapper:
def __iter__(self):
with self.db.wrap_database_errors:
- for item in self.cursor:
- yield item
+ yield from self.cursor
def __enter__(self):
return self
diff --git a/django/db/models/expressions.py b/django/db/models/expressions.py
index 07d2b904a8..cfa23ccd2d 100644
--- a/django/db/models/expressions.py
+++ b/django/db/models/expressions.py
@@ -337,8 +337,7 @@ class BaseExpression:
yield self
for expr in self.get_source_expressions():
if expr:
- for inner_expr in expr.flatten():
- yield inner_expr
+ yield from expr.flatten()
class Expression(BaseExpression, Combinable):
diff --git a/django/forms/fields.py b/django/forms/fields.py
index 0f120378a1..e42c1597c7 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -742,8 +742,7 @@ class CallableChoiceIterator:
self.choices_func = choices_func
def __iter__(self):
- for e in self.choices_func():
- yield e
+ yield from self.choices_func()
class ChoiceField(Field):
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index 164b0c38c1..7db4c69aad 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -539,14 +539,12 @@ class ChoiceWidget(Widget):
options from a BoundField for choice widgets.
"""
value = self.format_value(value)
- for option in self.options(name, value, attrs):
- yield option
+ yield from self.options(name, value, attrs)
def options(self, name, value, attrs=None):
"""Yield a flat list of options for this widgets."""
for group in self.optgroups(name, value, attrs):
- for option in group[1]:
- yield option
+ yield from group[1]
def optgroups(self, name, value, attrs=None):
"""Return a list of optgroups for this widget."""
diff --git a/django/template/base.py b/django/template/base.py
index 92ce5c2164..930b6922f7 100644
--- a/django/template/base.py
+++ b/django/template/base.py
@@ -162,8 +162,7 @@ class Template:
def __iter__(self):
for node in self.nodelist:
- for subnode in node:
- yield subnode
+ yield from node
def _render(self, context):
return self.nodelist.render(context)
diff --git a/django/template/context.py b/django/template/context.py
index 9f1fcadf72..8cb82ed80f 100644
--- a/django/template/context.py
+++ b/django/template/context.py
@@ -43,8 +43,7 @@ class BaseContext:
return repr(self.dicts)
def __iter__(self):
- for d in reversed(self.dicts):
- yield d
+ yield from reversed(self.dicts)
def push(self, *args, **kwargs):
dicts = []
@@ -192,8 +191,7 @@ class RenderContext(BaseContext):
template = None
def __iter__(self):
- for d in self.dicts[-1]:
- yield d
+ yield from self.dicts[-1]
def __contains__(self, key):
return key in self.dicts[-1]
diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py
index f4fead5f64..e2be85b9c0 100644
--- a/django/template/defaulttags.py
+++ b/django/template/defaulttags.py
@@ -148,10 +148,8 @@ class ForNode(Node):
reversed_text)
def __iter__(self):
- for node in self.nodelist_loop:
- yield node
- for node in self.nodelist_empty:
- yield node
+ yield from self.nodelist_loop
+ yield from self.nodelist_empty
def render(self, context):
if 'forloop' in context:
@@ -297,8 +295,7 @@ class IfNode(Node):
def __iter__(self):
for _, nodelist in self.conditions_nodelists:
- for node in nodelist:
- yield node
+ yield from nodelist
@property
def nodelist(self):
diff --git a/django/template/loaders/cached.py b/django/template/loaders/cached.py
index af401827a5..20abe21b35 100644
--- a/django/template/loaders/cached.py
+++ b/django/template/loaders/cached.py
@@ -63,8 +63,7 @@ class Loader(BaseLoader):
def get_template_sources(self, template_name):
for loader in self.loaders:
- for origin in loader.get_template_sources(template_name):
- yield origin
+ yield from loader.get_template_sources(template_name)
def cache_key(self, template_name, skip=None):
"""
diff --git a/django/test/client.py b/django/test/client.py
index 43eb09dd7b..87b59af363 100644
--- a/django/test/client.py
+++ b/django/test/client.py
@@ -83,8 +83,7 @@ class FakePayload:
def closing_iterator_wrapper(iterable, close):
try:
- for item in iterable:
- yield item
+ yield from iterable
finally:
request_finished.disconnect(close_old_connections)
close() # will fire request_finished
diff --git a/tests/model_forms/models.py b/tests/model_forms/models.py
index 6ed8b2ca06..cf5ca49cf6 100644
--- a/tests/model_forms/models.py
+++ b/tests/model_forms/models.py
@@ -348,8 +348,7 @@ class Colour(models.Model):
name = models.CharField(max_length=50)
def __iter__(self):
- for number in range(5):
- yield number
+ yield from range(5)
def __str__(self):
return self.name
diff --git a/tests/queries/tests.py b/tests/queries/tests.py
index c4181a10b5..86e8405822 100644
--- a/tests/queries/tests.py
+++ b/tests/queries/tests.py
@@ -787,8 +787,7 @@ class Queries1Tests(TestCase):
n_obj = Note.objects.all()[0]
def g():
- for i in [n_obj.pk]:
- yield i
+ yield n_obj.pk
self.assertQuerysetEqual(Note.objects.filter(pk__in=f()), [])
self.assertEqual(list(Note.objects.filter(pk__in=g())), [n_obj])
diff --git a/tests/template_tests/filter_tests/test_unordered_list.py b/tests/template_tests/filter_tests/test_unordered_list.py
index b4d624345b..5e100d5a68 100644
--- a/tests/template_tests/filter_tests/test_unordered_list.py
+++ b/tests/template_tests/filter_tests/test_unordered_list.py
@@ -103,9 +103,7 @@ class FunctionTests(SimpleTestCase):
)
def item_generator():
- yield a
- yield b
- yield c
+ yield from (a, b, c)
self.assertEqual(
unordered_list(item_generator()),
@@ -129,9 +127,7 @@ class FunctionTests(SimpleTestCase):
)
def item_generator():
- yield a
- yield b
- yield c
+ yield from (a, b, c)
self.assertEqual(
unordered_list(item_generator(), autoescape=False),