Skip to content

Commit

Permalink
adjusting decorator
Browse files Browse the repository at this point in the history
  • Loading branch information
why-not-try-calmer committed Sep 29, 2023
1 parent 7e04d88 commit b792cfa
Showing 1 changed file with 8 additions and 34 deletions.
42 changes: 8 additions & 34 deletions src/django_oapif/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,30 +40,7 @@ def inner(Model):
1 for viewsets for models without (aka 'non-geometric features').
"""

class AutoSerializer(GeoFeatureModelSerializer):
class Meta:
model = Model
fields = "__all__"
geo_field = "geom"

# ON HOLD, WAITING ON GeoFeatureModelSerializer to admit of null geometries
"""
class AutoNoGeomSerializer(ModelSerializer):
class Meta:
model = Model
fields = "__all__
if skip_geom:
viewset_serializer_class = AutoNoGeomSerializer
viewset_oapif_geom_lookup = None
else:
"""
viewset_serializer_class = AutoSerializer
viewset_renderer_classes = [
renderers.JSONRenderer,
FGBRenderer,
JSONStreamingRenderer,
]
viewset_oapif_geom_lookup = (
_viewset_oapif_geom_lookup = (
"geom" # one day this will be retrieved automatically from the serializer
)
_geo_field = "geom"
Expand All @@ -82,15 +59,19 @@ class Meta:
# Create the viewset
class Viewset(OAPIFDescribeModelViewSetMixin, viewsets.ModelViewSet):
queryset = Model.objects.all()
serializer_class = viewset_serializer_class
renderer_classes = viewset_renderer_classes
serializer_class = AutoSerializer
renderer_classes = [
renderers.JSONRenderer,
JSONStreamingRenderer,
FGBRenderer,
]

# TODO: these should probably be moved to the mixin
oapif_title = Model._meta.verbose_name
oapif_description = Model.__doc__

# (one day this will be retrieved automatically from the serializer)
oapif_geom_lookup = viewset_oapif_geom_lookup
oapif_geom_lookup = _viewset_oapif_geom_lookup
filter_backends = [BboxFilterBackend]

# Allowing '.' and '-' in urls
Expand Down Expand Up @@ -123,13 +104,6 @@ def list(self, request, *args, **kwargs):
self.renderer_classes = [FGBRenderer]
return super().list(request, *args, **kwargs)

# ON HOLD, WAITING ON GeoFeatureModelSerializer to admit of null geometries
"""
# Apply custom serializer attributes
if viewset_serializer_class.__name__ == "AutoNoGeomSerializer":
for k, v in custom_serializer_attrs.items():
setattr(AutoNoGeomSerializer.Meta, k, v)
"""
# Apply custom serializer attributes
for k, v in custom_serializer_attrs.items():
setattr(AutoSerializer.Meta, k, v)
Expand Down

0 comments on commit b792cfa

Please sign in to comment.