From 691ee7696bb26c536dc3a2d366d0c4be1fb3190e Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Sat, 24 Oct 2020 11:58:43 -0500 Subject: [PATCH] serve basic list/detail pi log simulation views --- dr_botzo/urls.py | 1 + pi/serializers.py | 14 ++++++++++++++ pi/urls.py | 12 ++++++++++++ pi/views.py | 12 ++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 pi/serializers.py create mode 100644 pi/urls.py create mode 100644 pi/views.py diff --git a/dr_botzo/urls.py b/dr_botzo/urls.py index 3abb52b..e9096ce 100644 --- a/dr_botzo/urls.py +++ b/dr_botzo/urls.py @@ -18,6 +18,7 @@ urlpatterns = [ url(r'^itemsets/', include('facts.urls')), url(r'^karma/', include('karma.urls')), url(r'^markov/', include('markov.urls')), + url(r'^pi/', include('pi.urls')), url(r'^races/', include('races.urls')), url(r'^weather/', include('weather.urls')), diff --git a/pi/serializers.py b/pi/serializers.py new file mode 100644 index 0000000..abae8a2 --- /dev/null +++ b/pi/serializers.py @@ -0,0 +1,14 @@ +"""REST serializers for pi simulations.""" +from rest_framework import serializers + +from pi.models import PiLog + + +class PiLogSerializer(serializers.ModelSerializer): + """Pi simulation log entry serializer for the REST API.""" + + class Meta: + """Meta options.""" + + model = PiLog + fields = ('id', 'simulation_x', 'simulation_y', 'total_count', 'total_count_inside', 'value', 'hit') diff --git a/pi/urls.py b/pi/urls.py new file mode 100644 index 0000000..3c7596b --- /dev/null +++ b/pi/urls.py @@ -0,0 +1,12 @@ +"""URL patterns for the pi views.""" +from django.conf.urls import include, url +from rest_framework.routers import DefaultRouter + +from pi.views import PiLogViewSet + +router = DefaultRouter() +router.register(r'simulations', PiLogViewSet) + +urlpatterns = [ + url(r'^api/', include(router.urls)), +] diff --git a/pi/views.py b/pi/views.py new file mode 100644 index 0000000..185bfac --- /dev/null +++ b/pi/views.py @@ -0,0 +1,12 @@ +"""Provide pi simulation results.""" +from rest_framework import viewsets + +from pi.models import PiLog +from pi.serializers import PiLogSerializer + + +class PiLogViewSet(viewsets.ReadOnlyModelViewSet): + """Provide list and detail actions for pi simulation log entries.""" + + queryset = PiLog.objects.all() + serializer_class = PiLogSerializer