diff options
| author | Nick Pope <nick.pope@flightdataservices.com> | 2017-12-11 12:08:45 +0000 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-12-11 07:08:45 -0500 |
| commit | d13a9e44ded4e93570c6ba42ec84e45ddca2505b (patch) | |
| tree | 0df16e6538d8794c39bd62b5a46879b8abe6572c /django/contrib/gis | |
| parent | a9e5ac823df8ba8b786b6450c967ca378c008d0e (diff) | |
Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.
Diffstat (limited to 'django/contrib/gis')
| -rw-r--r-- | django/contrib/gis/db/backends/spatialite/introspection.py | 20 | ||||
| -rw-r--r-- | django/contrib/gis/db/models/fields.py | 11 | ||||
| -rw-r--r-- | django/contrib/gis/db/models/functions.py | 10 | ||||
| -rw-r--r-- | django/contrib/gis/db/models/lookups.py | 3 | ||||
| -rw-r--r-- | django/contrib/gis/forms/widgets.py | 10 | ||||
| -rw-r--r-- | django/contrib/gis/geos/prototypes/coordseq.py | 2 | ||||
| -rw-r--r-- | django/contrib/gis/geos/prototypes/threadsafe.py | 4 |
7 files changed, 26 insertions, 34 deletions
diff --git a/django/contrib/gis/db/backends/spatialite/introspection.py b/django/contrib/gis/db/backends/spatialite/introspection.py index 5cd5613b69..967448621d 100644 --- a/django/contrib/gis/db/backends/spatialite/introspection.py +++ b/django/contrib/gis/db/backends/spatialite/introspection.py @@ -9,16 +9,16 @@ class GeoFlexibleFieldLookupDict(FlexibleFieldLookupDict): Sublcass that includes updates the `base_data_types_reverse` dict for geometry field types. """ - base_data_types_reverse = FlexibleFieldLookupDict.base_data_types_reverse.copy() - base_data_types_reverse.update( - {'point': 'GeometryField', - 'linestring': 'GeometryField', - 'polygon': 'GeometryField', - 'multipoint': 'GeometryField', - 'multilinestring': 'GeometryField', - 'multipolygon': 'GeometryField', - 'geometrycollection': 'GeometryField', - }) + base_data_types_reverse = { + **FlexibleFieldLookupDict.base_data_types_reverse, + 'point': 'GeometryField', + 'linestring': 'GeometryField', + 'polygon': 'GeometryField', + 'multipoint': 'GeometryField', + 'multilinestring': 'GeometryField', + 'multipolygon': 'GeometryField', + 'geometrycollection': 'GeometryField', + } class SpatiaLiteIntrospection(DatabaseIntrospection): diff --git a/django/contrib/gis/db/models/fields.py b/django/contrib/gis/db/models/fields.py index fea3cfc260..5e869a8243 100644 --- a/django/contrib/gis/db/models/fields.py +++ b/django/contrib/gis/db/models/fields.py @@ -250,11 +250,12 @@ class GeometryField(BaseSpatialField): setattr(cls, self.attname, SpatialProxy(self.geom_class or GEOSGeometry, self, load_func=GEOSGeometry)) def formfield(self, **kwargs): - defaults = {'form_class': self.form_class, - 'geom_type': self.geom_type, - 'srid': self.srid, - } - defaults.update(kwargs) + defaults = { + 'form_class': self.form_class, + 'geom_type': self.geom_type, + 'srid': self.srid, + **kwargs, + } if self.dim > 2 and not getattr(defaults['form_class'].widget, 'supports_3d', False): defaults.setdefault('widget', forms.Textarea) return super().formfield(**defaults) diff --git a/django/contrib/gis/db/models/functions.py b/django/contrib/gis/db/models/functions.py index fc46823b19..b3c8d521ca 100644 --- a/django/contrib/gis/db/models/functions.py +++ b/django/contrib/gis/db/models/functions.py @@ -415,12 +415,10 @@ class SnapToGrid(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc): ) elif nargs == 4: # Reverse origin and size param ordering - expressions.extend( - [self._handle_param(arg, '', NUMERIC_TYPES) for arg in args[2:]] - ) - expressions.extend( - [self._handle_param(arg, '', NUMERIC_TYPES) for arg in args[0:2]] - ) + expressions += [ + *(self._handle_param(arg, '', NUMERIC_TYPES) for arg in args[2:]), + *(self._handle_param(arg, '', NUMERIC_TYPES) for arg in args[0:2]), + ] else: raise ValueError('Must provide 1, 2, or 4 arguments to `SnapToGrid`.') super().__init__(*expressions, **extra) diff --git a/django/contrib/gis/db/models/lookups.py b/django/contrib/gis/db/models/lookups.py index d5318568fb..6d5df2c10f 100644 --- a/django/contrib/gis/db/models/lookups.py +++ b/django/contrib/gis/db/models/lookups.py @@ -78,8 +78,7 @@ class GISLookup(Lookup): rhs_sql, rhs_params = self.process_rhs(compiler, connection) sql_params.extend(rhs_params) - template_params = {'lhs': lhs_sql, 'rhs': rhs_sql, 'value': '%s'} - template_params.update(self.template_params) + template_params = {'lhs': lhs_sql, 'rhs': rhs_sql, 'value': '%s', **self.template_params} rhs_op = self.get_rhs_op(connection, rhs_sql) return rhs_op.as_sql(connection, self, template_params, sql_params) diff --git a/django/contrib/gis/forms/widgets.py b/django/contrib/gis/forms/widgets.py index e48ba96865..0ffe2ced77 100644 --- a/django/contrib/gis/forms/widgets.py +++ b/django/contrib/gis/forms/widgets.py @@ -60,19 +60,15 @@ class BaseGeometryWidget(Widget): value.srid, self.map_srid, err ) - if attrs is None: - attrs = {} - - build_attrs_kwargs = { + context.update(self.build_attrs(self.attrs, { 'name': name, 'module': 'geodjango_%s' % name.replace('-', '_'), # JS-safe 'serialized': self.serialize(value), 'geom_type': gdal.OGRGeomType(self.attrs['geom_type']), 'STATIC_URL': settings.STATIC_URL, 'LANGUAGE_BIDI': translation.get_language_bidi(), - } - build_attrs_kwargs.update(attrs) - context.update(self.build_attrs(self.attrs, build_attrs_kwargs)) + **(attrs or {}), + })) return context diff --git a/django/contrib/gis/geos/prototypes/coordseq.py b/django/contrib/gis/geos/prototypes/coordseq.py index 75b375884c..d1a5ed6043 100644 --- a/django/contrib/gis/geos/prototypes/coordseq.py +++ b/django/contrib/gis/geos/prototypes/coordseq.py @@ -49,7 +49,7 @@ class CsOperation(GEOSFuncFactory): else: argtypes = [CS_PTR, c_uint, dbl_param] - super().__init__(*args, **dict(kwargs, errcheck=errcheck, argtypes=argtypes)) + super().__init__(*args, **{**kwargs, 'errcheck': errcheck, 'argtypes': argtypes}) class CsOutput(GEOSFuncFactory): diff --git a/django/contrib/gis/geos/prototypes/threadsafe.py b/django/contrib/gis/geos/prototypes/threadsafe.py index 24f8f288c1..04eb496704 100644 --- a/django/contrib/gis/geos/prototypes/threadsafe.py +++ b/django/contrib/gis/geos/prototypes/threadsafe.py @@ -55,9 +55,7 @@ class GEOSFunc: return self.cfunc.argtypes def _set_argtypes(self, argtypes): - new_argtypes = [CONTEXT_PTR] - new_argtypes.extend(argtypes) - self.cfunc.argtypes = new_argtypes + self.cfunc.argtypes = [CONTEXT_PTR, *argtypes] argtypes = property(_get_argtypes, _set_argtypes) |
