summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorThomas Chaumeny <thomas.chaumeny@polyconseil.fr>2014-09-26 14:31:50 +0200
committerLoic Bistuer <loic.bistuer@gmail.com>2014-09-29 00:01:38 +0700
commitb2aad7b836bfde012756cca69291c14d2fdbd334 (patch)
tree53c93f9804075ed347d6d83718d37f7dc2a06340 /django
parentcaf5cd7ba7c9d73194e394a26c81f1a677d54a6c (diff)
Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.
Thanks Collin Anderson for the review.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/views/main.py2
-rw-r--r--django/contrib/auth/tests/test_auth_backends.py36
-rw-r--r--django/contrib/gis/db/backends/mysql/operations.py2
-rw-r--r--django/contrib/gis/db/backends/oracle/operations.py2
-rw-r--r--django/contrib/gis/db/backends/postgis/operations.py2
-rw-r--r--django/contrib/gis/db/backends/spatialite/operations.py2
-rw-r--r--django/contrib/gis/tests/geo3d/tests.py2
-rw-r--r--django/contrib/gis/tests/relatedapp/tests.py6
-rw-r--r--django/core/mail/message.py4
-rw-r--r--django/core/management/utils.py4
-rw-r--r--django/db/backends/__init__.py4
-rw-r--r--django/db/migrations/autodetector.py4
-rw-r--r--django/db/migrations/writer.py25
-rw-r--r--django/db/models/deletion.py6
-rw-r--r--django/db/models/fields/__init__.py2
-rw-r--r--django/db/models/sql/constants.py4
-rw-r--r--django/db/models/sql/query.py4
-rw-r--r--django/db/transaction.py2
-rw-r--r--django/test/signals.py2
-rw-r--r--django/utils/formats.py4
20 files changed, 60 insertions, 59 deletions
diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py
index 1fcc774657..8f90585c68 100644
--- a/django/contrib/admin/views/main.py
+++ b/django/contrib/admin/views/main.py
@@ -275,7 +275,7 @@ class ChangeList(object):
# ordering fields so we can guarantee a deterministic order across all
# database backends.
pk_name = self.lookup_opts.pk.name
- if not (set(ordering) & set(['pk', '-pk', pk_name, '-' + pk_name])):
+ if not (set(ordering) & {'pk', '-pk', pk_name, '-' + pk_name}):
# The two sets do not intersect, meaning the pk isn't present. So
# we add it.
ordering.append('-pk')
diff --git a/django/contrib/auth/tests/test_auth_backends.py b/django/contrib/auth/tests/test_auth_backends.py
index 37a93f7835..4845128ff0 100644
--- a/django/contrib/auth/tests/test_auth_backends.py
+++ b/django/contrib/auth/tests/test_auth_backends.py
@@ -71,8 +71,8 @@ class BaseModelBackendTest(object):
# reloading user to purge the _perm_cache
user = self.UserModel._default_manager.get(pk=self.user.pk)
- self.assertEqual(user.get_all_permissions() == set(['auth.test']), True)
- self.assertEqual(user.get_group_permissions(), set([]))
+ self.assertEqual(user.get_all_permissions() == {'auth.test'}, True)
+ self.assertEqual(user.get_group_permissions(), set())
self.assertEqual(user.has_module_perms('Group'), False)
self.assertEqual(user.has_module_perms('auth'), True)
@@ -81,7 +81,7 @@ class BaseModelBackendTest(object):
perm = Permission.objects.create(name='test3', content_type=content_type, codename='test3')
user.user_permissions.add(perm)
user = self.UserModel._default_manager.get(pk=self.user.pk)
- self.assertEqual(user.get_all_permissions(), set(['auth.test2', 'auth.test', 'auth.test3']))
+ self.assertEqual(user.get_all_permissions(), {'auth.test2', 'auth.test', 'auth.test3'})
self.assertEqual(user.has_perm('test'), False)
self.assertEqual(user.has_perm('auth.test'), True)
self.assertEqual(user.has_perms(['auth.test2', 'auth.test3']), True)
@@ -91,9 +91,9 @@ class BaseModelBackendTest(object):
group.permissions.add(perm)
user.groups.add(group)
user = self.UserModel._default_manager.get(pk=self.user.pk)
- exp = set(['auth.test2', 'auth.test', 'auth.test3', 'auth.test_group'])
+ exp = {'auth.test2', 'auth.test', 'auth.test3', 'auth.test_group'}
self.assertEqual(user.get_all_permissions(), exp)
- self.assertEqual(user.get_group_permissions(), set(['auth.test_group']))
+ self.assertEqual(user.get_group_permissions(), {'auth.test_group'})
self.assertEqual(user.has_perms(['auth.test3', 'auth.test_group']), True)
user = AnonymousUser()
@@ -108,9 +108,9 @@ class BaseModelBackendTest(object):
user.user_permissions.add(perm)
self.assertEqual(user.has_perm('auth.test', 'object'), False)
- self.assertEqual(user.get_all_permissions('object'), set([]))
+ self.assertEqual(user.get_all_permissions('object'), set())
self.assertEqual(user.has_perm('auth.test'), True)
- self.assertEqual(user.get_all_permissions(), set(['auth.test']))
+ self.assertEqual(user.get_all_permissions(), {'auth.test'})
def test_anonymous_has_no_permissions(self):
"""
@@ -129,9 +129,9 @@ class BaseModelBackendTest(object):
user.groups.add(group)
group.permissions.add(group_perm)
- self.assertEqual(backend.get_all_permissions(user), set(['auth.test_user', 'auth.test_group']))
- self.assertEqual(backend.get_user_permissions(user), set(['auth.test_user', 'auth.test_group']))
- self.assertEqual(backend.get_group_permissions(user), set(['auth.test_group']))
+ self.assertEqual(backend.get_all_permissions(user), {'auth.test_user', 'auth.test_group'})
+ self.assertEqual(backend.get_user_permissions(user), {'auth.test_user', 'auth.test_group'})
+ self.assertEqual(backend.get_group_permissions(user), {'auth.test_group'})
user.is_anonymous = lambda: True
@@ -156,9 +156,9 @@ class BaseModelBackendTest(object):
user.groups.add(group)
group.permissions.add(group_perm)
- self.assertEqual(backend.get_all_permissions(user), set(['auth.test_user', 'auth.test_group']))
- self.assertEqual(backend.get_user_permissions(user), set(['auth.test_user', 'auth.test_group']))
- self.assertEqual(backend.get_group_permissions(user), set(['auth.test_group']))
+ self.assertEqual(backend.get_all_permissions(user), {'auth.test_user', 'auth.test_group'})
+ self.assertEqual(backend.get_user_permissions(user), {'auth.test_user', 'auth.test_group'})
+ self.assertEqual(backend.get_group_permissions(user), {'auth.test_group'})
user.is_active = False
user.save()
@@ -367,14 +367,14 @@ class RowlevelBackendTest(TestCase):
self.assertEqual(self.user3.has_perms(['simple', 'advanced'], TestObj()), False)
def test_get_all_permissions(self):
- self.assertEqual(self.user1.get_all_permissions(TestObj()), set(['simple']))
- self.assertEqual(self.user2.get_all_permissions(TestObj()), set(['simple', 'advanced']))
- self.assertEqual(self.user2.get_all_permissions(), set([]))
+ self.assertEqual(self.user1.get_all_permissions(TestObj()), {'simple'})
+ self.assertEqual(self.user2.get_all_permissions(TestObj()), {'simple', 'advanced'})
+ self.assertEqual(self.user2.get_all_permissions(), set())
def test_get_group_permissions(self):
group = Group.objects.create(name='test_group')
self.user3.groups.add(group)
- self.assertEqual(self.user3.get_group_permissions(TestObj()), set(['group_perm']))
+ self.assertEqual(self.user3.get_group_permissions(TestObj()), {'group_perm'})
class AnonymousUserBackendTest(TestCase):
@@ -405,7 +405,7 @@ class AnonymousUserBackendTest(TestCase):
self.assertEqual(self.user1.has_module_perms("app2"), False)
def test_get_all_permissions(self):
- self.assertEqual(self.user1.get_all_permissions(TestObj()), set(['anon']))
+ self.assertEqual(self.user1.get_all_permissions(TestObj()), {'anon'})
@skipIfCustomUser
diff --git a/django/contrib/gis/db/backends/mysql/operations.py b/django/contrib/gis/db/backends/mysql/operations.py
index 60583a8e94..a9e264cb02 100644
--- a/django/contrib/gis/db/backends/mysql/operations.py
+++ b/django/contrib/gis/db/backends/mysql/operations.py
@@ -31,7 +31,7 @@ class MySQLOperations(DatabaseOperations, BaseSpatialOperations):
'within': 'MBRWithin',
}
- gis_terms = set(geometry_functions) | set(['isnull'])
+ gis_terms = set(geometry_functions) | {'isnull'}
def geo_db_type(self, f):
return f.geom_type
diff --git a/django/contrib/gis/db/backends/oracle/operations.py b/django/contrib/gis/db/backends/oracle/operations.py
index 1c58c335e3..45ebdf32d3 100644
--- a/django/contrib/gis/db/backends/oracle/operations.py
+++ b/django/contrib/gis/db/backends/oracle/operations.py
@@ -137,7 +137,7 @@ class OracleOperations(DatabaseOperations, BaseSpatialOperations):
}
geometry_functions.update(distance_functions)
- gis_terms = set(['isnull'])
+ gis_terms = {'isnull'}
gis_terms.update(geometry_functions)
truncate_params = {'relate': None}
diff --git a/django/contrib/gis/db/backends/postgis/operations.py b/django/contrib/gis/db/backends/postgis/operations.py
index d598d198f8..c41748cca2 100644
--- a/django/contrib/gis/db/backends/postgis/operations.py
+++ b/django/contrib/gis/db/backends/postgis/operations.py
@@ -177,7 +177,7 @@ class PostGISOperations(DatabaseOperations, BaseSpatialOperations):
}
# Creating a dictionary lookup of all GIS terms for PostGIS.
- self.gis_terms = set(['isnull'])
+ self.gis_terms = {'isnull'}
self.gis_terms.update(self.geometry_operators)
self.gis_terms.update(self.geometry_functions)
diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py
index b0862251ee..b051b250a4 100644
--- a/django/contrib/gis/db/backends/spatialite/operations.py
+++ b/django/contrib/gis/db/backends/spatialite/operations.py
@@ -134,7 +134,7 @@ class SpatiaLiteOperations(DatabaseOperations, BaseSpatialOperations):
super(DatabaseOperations, self).__init__(connection)
# Creating the GIS terms dictionary.
- self.gis_terms = set(['isnull'])
+ self.gis_terms = {'isnull'}
self.gis_terms.update(self.geometry_functions)
@cached_property
diff --git a/django/contrib/gis/tests/geo3d/tests.py b/django/contrib/gis/tests/geo3d/tests.py
index b6bef7f362..47c141a2ac 100644
--- a/django/contrib/gis/tests/geo3d/tests.py
+++ b/django/contrib/gis/tests/geo3d/tests.py
@@ -204,7 +204,7 @@ class Geo3DTest(TestCase):
union = City3D.objects.aggregate(Union('point'))['point__union']
self.assertTrue(union.hasz)
# Ordering of points in the resulting geometry may vary between implementations
- self.assertSetEqual(set([p.ewkt for p in ref_union]), set([p.ewkt for p in union]))
+ self.assertSetEqual({p.ewkt for p in ref_union}, {p.ewkt for p in union})
def test_extent(self):
"""
diff --git a/django/contrib/gis/tests/relatedapp/tests.py b/django/contrib/gis/tests/relatedapp/tests.py
index 2981ce6092..63ac5dc045 100644
--- a/django/contrib/gis/tests/relatedapp/tests.py
+++ b/django/contrib/gis/tests/relatedapp/tests.py
@@ -113,9 +113,9 @@ class RelatedGeoModelTest(TestCase):
# Ordering of points in the result of the union is not defined and
# implementation-dependent (DB backend, GEOS version)
- self.assertSetEqual(set([p.ewkt for p in ref_u1]), set([p.ewkt for p in u1]))
- self.assertSetEqual(set([p.ewkt for p in ref_u2]), set([p.ewkt for p in u2]))
- self.assertSetEqual(set([p.ewkt for p in ref_u1]), set([p.ewkt for p in u3]))
+ self.assertSetEqual({p.ewkt for p in ref_u1}, {p.ewkt for p in u1})
+ self.assertSetEqual({p.ewkt for p in ref_u2}, {p.ewkt for p in u2})
+ self.assertSetEqual({p.ewkt for p in ref_u1}, {p.ewkt for p in u3})
def test05_select_related_fk_to_subclass(self):
"Testing that calling select_related on a query over a model with an FK to a model subclass works"
diff --git a/django/core/mail/message.py b/django/core/mail/message.py
index dcce9dcfe1..da9891fb2f 100644
--- a/django/core/mail/message.py
+++ b/django/core/mail/message.py
@@ -64,7 +64,7 @@ def make_msgid(idstring=None):
# Header names that contain structured address data (RFC #5322)
-ADDRESS_HEADERS = set([
+ADDRESS_HEADERS = {
'from',
'sender',
'reply-to',
@@ -76,7 +76,7 @@ ADDRESS_HEADERS = set([
'resent-to',
'resent-cc',
'resent-bcc',
-])
+}
def forbid_multi_line_headers(name, val, encoding):
diff --git a/django/core/management/utils.py b/django/core/management/utils.py
index 895ed69959..f9effe7192 100644
--- a/django/core/management/utils.py
+++ b/django/core/management/utils.py
@@ -44,9 +44,9 @@ def handle_extensions(extensions=('html',), ignored=('py',)):
would result in an extension list: ['.js', '.txt', '.xhtml']
>>> handle_extensions(['.html', 'html,js,py,py,py,.py', 'py,.py'])
- set(['.html', '.js'])
+ {'.html', '.js'}
>>> handle_extensions(['.html, txt,.tpl'])
- set(['.html', '.tpl', '.txt'])
+ {'.html', '.tpl', '.txt'}
"""
ext_list = []
for ext in extensions:
diff --git a/django/db/backends/__init__.py b/django/db/backends/__init__.py
index ce3ea04d98..dc4205e856 100644
--- a/django/db/backends/__init__.py
+++ b/django/db/backends/__init__.py
@@ -1351,10 +1351,10 @@ class BaseDatabaseIntrospection(object):
for app_config in apps.get_app_configs():
all_models.extend(router.get_migratable_models(app_config, self.connection.alias))
tables = list(map(self.table_name_converter, tables))
- return set([
+ return {
m for m in all_models
if self.table_name_converter(m._meta.db_table) in tables
- ])
+ }
def sequence_list(self):
"Returns a list of information about all DB sequences for all models in all apps."
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index 95ef890ac6..3e3fe83eb8 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -873,13 +873,13 @@ class MigrationAutodetector(object):
# We run the old version through the field renames to account for those
old_value = old_model_state.options.get(option_name) or set()
if old_value:
- old_value = set([
+ old_value = {
tuple(
self.renamed_fields.get((app_label, model_name, n), n)
for n in unique
)
for unique in old_value
- ])
+ }
new_value = new_model_state.options.get(option_name) or set()
if new_value:
diff --git a/django/db/migrations/writer.py b/django/db/migrations/writer.py
index 5bb7d81e34..0c3be77e6b 100644
--- a/django/db/migrations/writer.py
+++ b/django/db/migrations/writer.py
@@ -207,10 +207,10 @@ class MigrationWriter(object):
def serialize_deconstructed(cls, path, args, kwargs):
module, name = path.rsplit(".", 1)
if module == "django.db.models":
- imports = set(["from django.db import models"])
+ imports = {"from django.db import models"}
name = "models.%s" % name
else:
- imports = set(["import %s" % module])
+ imports = {"import %s" % module}
name = path
strings = []
for arg in args:
@@ -246,6 +246,7 @@ class MigrationWriter(object):
imports.update(item_imports)
strings.append(item_string)
if isinstance(value, set):
+ # Don't use the literal "{%s}" as it doesn't support empty set
format = "set([%s])"
elif isinstance(value, tuple):
# When len(value)==0, the empty tuple should be serialized as
@@ -272,20 +273,20 @@ class MigrationWriter(object):
value_repr = repr(value)
if isinstance(value, datetime_safe.datetime):
value_repr = "datetime.%s" % value_repr
- return value_repr, set(["import datetime"])
+ return value_repr, {"import datetime"}
# Dates
elif isinstance(value, datetime.date):
value_repr = repr(value)
if isinstance(value, datetime_safe.date):
value_repr = "datetime.%s" % value_repr
- return value_repr, set(["import datetime"])
+ return value_repr, {"import datetime"}
# Times
elif isinstance(value, datetime.time):
value_repr = repr(value)
- return value_repr, set(["import datetime"])
+ return value_repr, {"import datetime"}
# Settings references
elif isinstance(value, SettingsReference):
- return "settings.%s" % value.setting_name, set(["from django.conf import settings"])
+ return "settings.%s" % value.setting_name, {"from django.conf import settings"}
# Simple types
elif isinstance(value, six.integer_types + (float, bool, type(None))):
return repr(value), set()
@@ -303,7 +304,7 @@ class MigrationWriter(object):
return value_repr, set()
# Decimal
elif isinstance(value, decimal.Decimal):
- return repr(value), set(["from decimal import Decimal"])
+ return repr(value), {"from decimal import Decimal"}
# Django fields
elif isinstance(value, models.Field):
attr_name, path, args, kwargs = value.deconstruct()
@@ -317,7 +318,7 @@ class MigrationWriter(object):
if getattr(value, "__self__", None) and isinstance(value.__self__, type):
klass = value.__self__
module = klass.__module__
- return "%s.%s.%s" % (module, klass.__name__, value.__name__), set(["import %s" % module])
+ return "%s.%s.%s" % (module, klass.__name__, value.__name__), {"import %s" % module}
# Further error checking
if value.__name__ == '<lambda>':
raise ValueError("Cannot serialize function: lambda")
@@ -326,7 +327,7 @@ class MigrationWriter(object):
# Python 3 is a lot easier, and only uses this branch if it's not local.
if getattr(value, "__qualname__", None) and getattr(value, "__module__", None):
if "<" not in value.__qualname__: # Qualname can include <locals>
- return "%s.%s" % (value.__module__, value.__qualname__), set(["import %s" % value.__module__])
+ return "%s.%s" % (value.__module__, value.__qualname__), {"import %s" % value.__module__}
# Python 2/fallback version
module_name = value.__module__
# Make sure it's actually there and not an unbound method
@@ -341,7 +342,7 @@ class MigrationWriter(object):
"For more information, see "
"https://docs.djangoproject.com/en/dev/topics/migrations/#serializing-values"
% (value.__name__, module_name))
- return "%s.%s" % (module_name, value.__name__), set(["import %s" % module_name])
+ return "%s.%s" % (module_name, value.__name__), {"import %s" % module_name}
# Classes
elif isinstance(value, type):
special_cases = [
@@ -355,7 +356,7 @@ class MigrationWriter(object):
if module == six.moves.builtins.__name__:
return value.__name__, set()
else:
- return "%s.%s" % (module, value.__name__), set(["import %s" % module])
+ return "%s.%s" % (module, value.__name__), {"import %s" % module}
# Other iterables
elif isinstance(value, collections.Iterable):
imports = set()
@@ -370,7 +371,7 @@ class MigrationWriter(object):
return format % (", ".join(strings)), imports
# Compiled regex
elif isinstance(value, COMPILED_REGEX_TYPE):
- imports = set(["import re"])
+ imports = {"import re"}
regex_pattern, pattern_imports = cls.serialize(value.pattern)
regex_flags, flag_imports = cls.serialize(value.flags)
imports.update(pattern_imports)
diff --git a/django/db/models/deletion.py b/django/db/models/deletion.py
index dffdf808d1..c61f865be2 100644
--- a/django/db/models/deletion.py
+++ b/django/db/models/deletion.py
@@ -54,9 +54,9 @@ def DO_NOTHING(collector, field, sub_objs, using):
class Collector(object):
def __init__(self, using):
self.using = using
- # Initially, {model: set([instances])}, later values become lists.
+ # Initially, {model: {instances}}, later values become lists.
self.data = {}
- self.field_updates = {} # {model: {(field, value): set([instances])}}
+ self.field_updates = {} # {model: {(field, value): {instances}}}
# fast_deletes is a list of queryset-likes that can be deleted without
# fetching the objects into memory.
self.fast_deletes = []
@@ -66,7 +66,7 @@ class Collector(object):
# should be included, as the dependencies exist only between actual
# database tables; proxy models are represented here by their concrete
# parent.
- self.dependencies = {} # {model: set([models])}
+ self.dependencies = {} # {model: {models}}
def add(self, objs, source=None, nullable=False, reverse_dependency=False):
"""
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index de7631c246..1143bb9530 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -349,7 +349,7 @@ class Field(RegisterLookupMixin):
"validators": "_validators",
"verbose_name": "_verbose_name",
}
- equals_comparison = set(["choices", "validators", "db_tablespace"])
+ equals_comparison = {"choices", "validators", "db_tablespace"}
for name, default in possibles.items():
value = getattr(self, attr_overrides.get(name, name))
# Unroll anything iterable for choices into a concrete list
diff --git a/django/db/models/sql/constants.py b/django/db/models/sql/constants.py
index 36aab23bae..49fdf114b3 100644
--- a/django/db/models/sql/constants.py
+++ b/django/db/models/sql/constants.py
@@ -8,12 +8,12 @@ import re
# Valid query types (a set is used for speedy lookups). These are (currently)
# considered SQL-specific; other storage systems may choose to use different
# lookup types.
-QUERY_TERMS = set([
+QUERY_TERMS = {
'exact', 'iexact', 'contains', 'icontains', 'gt', 'gte', 'lt', 'lte', 'in',
'startswith', 'istartswith', 'endswith', 'iendswith', 'range', 'year',
'month', 'day', 'week_day', 'hour', 'minute', 'second', 'isnull', 'search',
'regex', 'iregex',
-])
+}
# Size of each "chunk" for get_iterator calls.
# Larger values are slightly faster at the expense of more storage space.
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index b1fb28a302..2e7b37d423 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -574,7 +574,7 @@ class Query(object):
return
orig_opts = self.get_meta()
seen = {}
- must_include = {orig_opts.concrete_model: set([orig_opts.pk])}
+ must_include = {orig_opts.concrete_model: {orig_opts.pk}}
for field_name in field_names:
parts = field_name.split(LOOKUP_SEP)
cur_model = self.model._meta.concrete_model
@@ -2024,7 +2024,7 @@ def add_to_dict(data, key, value):
if key in data:
data[key].add(value)
else:
- data[key] = set([value])
+ data[key] = {value}
def is_reverse_o2o(field):
diff --git a/django/db/transaction.py b/django/db/transaction.py
index abc7892975..6d2bff52f4 100644
--- a/django/db/transaction.py
+++ b/django/db/transaction.py
@@ -298,7 +298,7 @@ def _non_atomic_requests(view, using):
try:
view._non_atomic_requests.add(using)
except AttributeError:
- view._non_atomic_requests = set([using])
+ view._non_atomic_requests = {using}
return view
diff --git a/django/test/signals.py b/django/test/signals.py
index 4edf0d8752..dd88389d62 100644
--- a/django/test/signals.py
+++ b/django/test/signals.py
@@ -17,7 +17,7 @@ setting_changed = Signal(providing_args=["setting", "value", "enter"])
# except for cases where the receiver is related to a contrib app.
# Settings that may not work well when using 'override_settings' (#19031)
-COMPLEX_OVERRIDE_SETTINGS = set(['DATABASES'])
+COMPLEX_OVERRIDE_SETTINGS = {'DATABASES'}
@receiver(setting_changed)
diff --git a/django/utils/formats.py b/django/utils/formats.py
index 3441f0f420..afbe5da12c 100644
--- a/django/utils/formats.py
+++ b/django/utils/formats.py
@@ -225,8 +225,8 @@ def sanitize_separators(value):
# Special case where we suspect a dot meant decimal separator (see #22171)
pass
else:
- for replacement in set([
- thousand_sep, unicodedata.normalize('NFKD', thousand_sep)]):
+ for replacement in {
+ thousand_sep, unicodedata.normalize('NFKD', thousand_sep)}:
value = value.replace(replacement, '')
parts.append(value)
value = '.'.join(reversed(parts))