From 0e826640964e7839e9e13dbffa40419529d68967 Mon Sep 17 00:00:00 2001 From: puckoprutt Date: Sun, 23 Feb 2025 05:40:23 +0100 Subject: [PATCH] added support for varda spider --- spiders/dagens_lunch/serializer.py | 18 ++++++++++++++++++ spiders/dagens_lunch/urls.py | 2 ++ spiders/dagens_lunch/views.py | 14 +++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/spiders/dagens_lunch/serializer.py b/spiders/dagens_lunch/serializer.py index 229d969..43d8134 100644 --- a/spiders/dagens_lunch/serializer.py +++ b/spiders/dagens_lunch/serializer.py @@ -34,6 +34,24 @@ class DagensLunchValsaren(DagensLunch): "week", "alltid", "klassiker", "price", "price_takeaway" ) +class DagensLunchVarda(DagensLunch): + about = serializers.CharField() + alltid = serializers.CharField() + kaninen = serializers.CharField() + fisken = serializers.CharField() + pasta = serializers.ListField() + sallad = serializers.CharField() + burgare = serializers.ListField() + grillat = serializers.CharField() + + class Meta(DagensLunch.Meta): + fields = DagensLunch.Meta.fields + ( + "about", "alltid", "kaninen", "fisken", "pasta", "sallad", "burgare", "grillat" + ) + read_only_fields = DagensLunch.Meta.read_only_fields + ( + "about", "alltid", "kaninen", "fisken", "pasta", "sallad", "burgare", "grillat" + ) + class DagensLunchMalmens(DagensLunch): week = serializers.CharField() monday = serializers.ListField() diff --git a/spiders/dagens_lunch/urls.py b/spiders/dagens_lunch/urls.py index 41eb07f..88f3174 100644 --- a/spiders/dagens_lunch/urls.py +++ b/spiders/dagens_lunch/urls.py @@ -1,12 +1,14 @@ from django.urls import path from spiders.dagens_lunch.views import Lunch_Valsaren_View from spiders.dagens_lunch.views import Lunch_Malmens_View +from spiders.dagens_lunch.views import Lunch_Varda_View from spiders.dagens_lunch.views import Lunch_Heat_View from spiders.dagens_lunch.views import Lunch_Max_View urlpatterns = [ path("valsaren/", Lunch_Valsaren_View.as_view({"get": "lunch"}), name="spiders_dagens_lunch_valsaren"), path("malmens/", Lunch_Malmens_View.as_view({"get": "lunch"}), name="spiders_dagens_lunch_malmens"), + path("varda/", Lunch_Varda_View.as_view({"get": "lunch"}), name="spiders_dagens_lunch_varda"), path("heat/", Lunch_Heat_View.as_view({"get": "lunch"}), name="spiders_dagens_lunch_heat"), path("max/", Lunch_Max_View.as_view({"get": "lunch"}), name="spiders_dagens_lunch_max"), ] \ No newline at end of file diff --git a/spiders/dagens_lunch/views.py b/spiders/dagens_lunch/views.py index 44227a9..1ba0cac 100644 --- a/spiders/dagens_lunch/views.py +++ b/spiders/dagens_lunch/views.py @@ -5,6 +5,7 @@ from rest_framework.response import Response from rest_framework.permissions import AllowAny from spiders.dagens_lunch.serializer import DagensLunchValsaren from spiders.dagens_lunch.serializer import DagensLunchMalmens +from spiders.dagens_lunch.serializer import DagensLunchVarda from spiders.dagens_lunch.serializer import DagensLunchHeat from spiders.dagens_lunch.serializer import DagensLunchMax @@ -31,7 +32,18 @@ class Lunch_Malmens_View(PuckoView): data = json.load(f) serializer = self.serializer_class(data) return Response(serializer.data, status=200) - + +class Lunch_Varda_View(PuckoView): + permission_classes = [AllowAny,] + serializer_class = DagensLunchVarda + + def lunch(self, request): + file = DAGENS_LUNCH_PATH / "varda.json" + with open(file, "r") as f: + data = json.load(f) + serializer = self.serializer_class(data) + return Response(serializer.data, status=200) + class Lunch_Heat_View(PuckoView): permission_classes = [AllowAny,] serializer_class = DagensLunchHeat