update some dependencies
This commit is contained in:
parent
69de947995
commit
6eaf087f71
4 changed files with 9 additions and 17 deletions
|
@ -56,8 +56,8 @@ class GeometryField(models.JSONField):
|
|||
if value is None or value == '':
|
||||
return None
|
||||
if isinstance(value, str):
|
||||
# todo: this is all too complex, why do we need this?
|
||||
value = json.loads(value)
|
||||
raise ValueError('got a string in GeometryField.to_python()')
|
||||
# todo: not a todo, hopefully
|
||||
try:
|
||||
geometry = shape(value)
|
||||
except Exception:
|
||||
|
@ -107,23 +107,17 @@ class GeometryField(models.JSONField):
|
|||
|
||||
return format_geojson(mapping(value), rounded=False) if as_json else value
|
||||
|
||||
def get_db_prep_value(self, value, connection, prepared=False):
|
||||
return super().get_db_prep_value(mapping(value), connection, prepared=prepared)
|
||||
|
||||
def get_prep_value(self, value):
|
||||
if value is None:
|
||||
return None
|
||||
if isinstance(value, dict):
|
||||
# todo: this should also not be needed but whatever
|
||||
value = shape(value)
|
||||
self._validate_geomtype(value, exception=TypeError)
|
||||
if value.is_empty:
|
||||
raise Exception('Cannot save empty geometry.')
|
||||
return json.dumps(self.get_final_value(value, as_json=True))
|
||||
return self.get_final_value(value, as_json=True)
|
||||
|
||||
def value_to_string(self, obj):
|
||||
value = self.value_from_object(obj)
|
||||
return self.get_prep_value(value)
|
||||
return json.dumps(self.get_prep_value(value))
|
||||
|
||||
|
||||
class JSONField(models.TextField):
|
||||
|
|
|
@ -18,6 +18,7 @@ from c3nav.mapdata.models.base import SerializableMixin
|
|||
from c3nav.mapdata.models.geometry.base import GeometryMixin
|
||||
from c3nav.mapdata.models.locations import SpecificLocation
|
||||
from c3nav.mapdata.utils.cache.changes import changed_geometries
|
||||
from c3nav.mapdata.utils.geometry import unwrap_geom
|
||||
from c3nav.mapdata.utils.json import format_geojson
|
||||
|
||||
|
||||
|
@ -97,7 +98,7 @@ class SpaceGeometryMixin(GeometryMixin):
|
|||
|
||||
def register_delete(self):
|
||||
space = self.space
|
||||
changed_geometries.register(space.level_id, space.geometry.intersection(self.geometry))
|
||||
changed_geometries.register(space.level_id, space.geometry.intersection(unwrap_geom(self.geometry)))
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.register_change()
|
||||
|
|
|
@ -37,9 +37,6 @@ class WrappedGeometry():
|
|||
wrapped_geojson = None
|
||||
|
||||
def __init__(self, geojson):
|
||||
if isinstance(geojson, str):
|
||||
# todo: this should not be needed unless the database is fucked
|
||||
geojson = json.loads(geojson)
|
||||
self.wrapped_geojson = geojson
|
||||
|
||||
@cached_property
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Django==4.2.3
|
||||
Django==4.2.7
|
||||
django-bootstrap3==23.4
|
||||
django-compressor==4.4
|
||||
csscompressor==0.9.5
|
||||
|
@ -7,12 +7,12 @@ django-ninja==1.0.1
|
|||
django-filter==23.4
|
||||
django-environ==0.11.2
|
||||
shapely==2.0.2
|
||||
pybind11==2.10.4
|
||||
pybind11==2.11.1
|
||||
MeshPy==2022.1.3
|
||||
# rtree==0.9.1
|
||||
celery==5.3.6
|
||||
requests==2.31.0
|
||||
Pillow==10.0.1
|
||||
Pillow==10.1.0
|
||||
qrcode==7.4.2
|
||||
matplotlib==3.8.2
|
||||
scipy==1.11.4
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue