diff options
| author | 2018-10-19 18:51:48 +0100 | |
|---|---|---|
| committer | 2018-10-19 18:51:48 +0100 | |
| commit | b70ee7dff60759b5853534e10baff26b11665b1b (patch) | |
| tree | 0cc5c181c309473654410762a899a7627e5522d7 | |
| parent | Merge branch 'django' of https://gitlab.com/python-discord/projects/site into... (diff) | |
Added snake idioms api
Diffstat (limited to '')
| -rw-r--r-- | api/admin.py | 5 | ||||
| -rw-r--r-- | api/migrations/0010_snakeidiom.py | 21 | ||||
| -rw-r--r-- | api/models.py | 13 | ||||
| -rw-r--r-- | api/serializers.py | 8 | ||||
| -rw-r--r-- | api/urls.py | 7 | ||||
| -rw-r--r-- | api/viewsets.py | 11 | 
6 files changed, 59 insertions, 6 deletions
| diff --git a/api/admin.py b/api/admin.py index 1ce8d767..de544b52 100644 --- a/api/admin.py +++ b/api/admin.py @@ -3,8 +3,8 @@ from django.contrib import admin  from .models import (      DocumentationLink, Member,      OffTopicChannelName, Role, -    SnakeFact, SnakeName, -    Tag +    SnakeFact, SnakeIdiom,  +    SnakeName, Tag  ) @@ -13,5 +13,6 @@ admin.site.register(Member)  admin.site.register(OffTopicChannelName)  admin.site.register(Role)  admin.site.register(SnakeFact) +admin.site.register(SnakeIdiom)  admin.site.register(SnakeName)  admin.site.register(Tag) diff --git a/api/migrations/0010_snakeidiom.py b/api/migrations/0010_snakeidiom.py new file mode 100644 index 00000000..982a9466 --- /dev/null +++ b/api/migrations/0010_snakeidiom.py @@ -0,0 +1,21 @@ +# Generated by Django 2.1.2 on 2018-10-19 16:27 + +import api.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('api', '0009_snakefact'), +    ] + +    operations = [ +        migrations.CreateModel( +            name='SnakeIdiom', +            fields=[ +                ('idiom', models.CharField(help_text='A snake idiom', max_length=140, primary_key=True, serialize=False)), +            ], +            bases=(api.models.ModelReprMixin, models.Model), +        ), +    ] diff --git a/api/models.py b/api/models.py index 7c9b63f5..81cd63aa 100644 --- a/api/models.py +++ b/api/models.py @@ -73,6 +73,19 @@ class SnakeFact(ModelReprMixin, models.Model):          return self.fact +class SnakeIdiom(ModelReprMixin, models.Model): +    """A snake idiom used by the snake cog.""" + +    idiom = models.CharField( +        primary_key=True, +        max_length=140, +        help_text="A snake idiom" +    ) + +    def __str__(self): +        return self.idiom + +  class SnakeName(ModelReprMixin, models.Model):      """A snake name used by the bot's snake cog.""" diff --git a/api/serializers.py b/api/serializers.py index fe2ab2f1..fae5abd9 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -4,7 +4,7 @@ from rest_framework_bulk import BulkSerializerMixin  from .models import (      DocumentationLink, Member,      OffTopicChannelName, Role, -    SnakeFact, SnakeName, +    SnakeFact, SnakeIdiom, SnakeName,      Tag  ) @@ -30,6 +30,12 @@ class SnakeFactSerializer(ModelSerializer):          fields = ('fact',) +class SnakeIdiomSerializer(ModelSerializer): +    class Meta: +        model = SnakeIdiom +        fields = ('idiom',) + +  class SnakeNameSerializer(ModelSerializer):      class Meta:          model = SnakeName diff --git a/api/urls.py b/api/urls.py index 40883c64..4f1b2455 100644 --- a/api/urls.py +++ b/api/urls.py @@ -4,7 +4,8 @@ from rest_framework.routers import DefaultRouter  from .views import HealthcheckView  from .viewsets import (      DocumentationLinkViewSet, MemberViewSet, -    OffTopicChannelNameViewSet, SnakeFactViewSet, SnakeNameViewSet, +    OffTopicChannelNameViewSet, SnakeFactViewSet, +    SnakeIdiomViewSet, SnakeNameViewSet,      TagViewSet  ) @@ -29,6 +30,10 @@ bot_router.register(      SnakeFactViewSet,  )  bot_router.register( +    'snake-idioms', +    SnakeIdiomViewSet +) +bot_router.register(      'snake-names',      SnakeNameViewSet,      base_name='snakename' diff --git a/api/viewsets.py b/api/viewsets.py index 22862c16..a9294109 100644 --- a/api/viewsets.py +++ b/api/viewsets.py @@ -12,12 +12,14 @@ from rest_framework_bulk import BulkCreateModelMixin  from .models import (      DocumentationLink, Member,      OffTopicChannelName, SnakeFact,  -    SnakeName, Tag +    SnakeIdiom, SnakeName, +    Tag  )  from .serializers import (      DocumentationLinkSerializer, MemberSerializer,      OffTopicChannelNameSerializer, SnakeFactSerializer,  -    SnakeNameSerializer, TagSerializer +    SnakeIdiomSerializer, SnakeNameSerializer, +    TagSerializer  ) @@ -199,6 +201,11 @@ class SnakeFactViewSet(ListModelMixin, GenericViewSet):      queryset = SnakeFact.objects.all() +class SnakeIdiomViewSet(ListModelMixin, GenericViewSet): +    serializer_class = SnakeIdiomSerializer +    queryset = SnakeIdiom.objects.all() + +  class SnakeNameViewSet(ViewSet):      """      View providing snake names for the bot's snake cog from our first code jam's winners. | 
