diff options
| author | Thomas Chaumeny <thomas.chaumeny@polyconseil.fr> | 2014-09-26 14:31:50 +0200 |
|---|---|---|
| committer | Loic Bistuer <loic.bistuer@gmail.com> | 2014-09-29 00:01:38 +0700 |
| commit | b2aad7b836bfde012756cca69291c14d2fdbd334 (patch) | |
| tree | 53c93f9804075ed347d6d83718d37f7dc2a06340 /django | |
| parent | caf5cd7ba7c9d73194e394a26c81f1a677d54a6c (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.py | 2 | ||||
| -rw-r--r-- | django/contrib/auth/tests/test_auth_backends.py | 36 | ||||
| -rw-r--r-- | django/contrib/gis/db/backends/mysql/operations.py | 2 | ||||
| -rw-r--r-- | django/contrib/gis/db/backends/oracle/operations.py | 2 | ||||
| -rw-r--r-- | django/contrib/gis/db/backends/postgis/operations.py | 2 | ||||
| -rw-r--r-- | django/contrib/gis/db/backends/spatialite/operations.py | 2 | ||||
| -rw-r--r-- | django/contrib/gis/tests/geo3d/tests.py | 2 | ||||
| -rw-r--r-- | django/contrib/gis/tests/relatedapp/tests.py | 6 | ||||
| -rw-r--r-- | django/core/mail/message.py | 4 | ||||
| -rw-r--r-- | django/core/management/utils.py | 4 | ||||
| -rw-r--r-- | django/db/backends/__init__.py | 4 | ||||
| -rw-r--r-- | django/db/migrations/autodetector.py | 4 | ||||
| -rw-r--r-- | django/db/migrations/writer.py | 25 | ||||
| -rw-r--r-- | django/db/models/deletion.py | 6 | ||||
| -rw-r--r-- | django/db/models/fields/__init__.py | 2 | ||||
| -rw-r--r-- | django/db/models/sql/constants.py | 4 | ||||
| -rw-r--r-- | django/db/models/sql/query.py | 4 | ||||
| -rw-r--r-- | django/db/transaction.py | 2 | ||||
| -rw-r--r-- | django/test/signals.py | 2 | ||||
| -rw-r--r-- | django/utils/formats.py | 4 |
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)) |
