Skip to content
Snippets Groups Projects
Commit b0595362 authored by borzechof99's avatar borzechof99 :whale2:
Browse files

Adhere to Linter

parent 69008fa9
No related branches found
No related tags found
No related merge requests found
......@@ -163,6 +163,9 @@ class CallToMove(models.Model):
return self.text
def take_base64_image(self, image_data, image_type):
"""
Takes a String of a Base64 Image and writes it onto the objects image field
"""
new_image = convert_base64_to_image(image_data, image_type, "activity_img")
if new_image is None:
......@@ -180,6 +183,9 @@ class KnowledgeSnack(models.Model):
return self.text
def take_base64_image(self, image_data, image_type):
"""
Takes a String of a Base64 Image and writes it onto the objects image field
"""
new_image = convert_base64_to_image(image_data, image_type, "snack_image")
if new_image is None:
......@@ -188,6 +194,9 @@ class KnowledgeSnack(models.Model):
def convert_base64_to_image(image_data, image_type, image_name):
"""
Converts a Base64-String into a Django Image File
"""
if image_data == "":
return None
......
......@@ -327,7 +327,14 @@ class SnackTivityListSerializer(serializers.BaseSerializer):
class SingleSnackTivitySerializer(serializers.BaseSerializer):
"""
Converts a Single SnackTivity Object to JSON and back
"""
def to_internal_value(self, data):
"""
Validates Data given in a Request
"""
validated_data = {}
......@@ -343,24 +350,27 @@ class SingleSnackTivitySerializer(serializers.BaseSerializer):
return validated_data
def to_representation(self, object):
def to_representation(self, obj):
"""
Converts a SnackTivity Model
"""
# bug https://code.djangoproject.com/ticket/25528
has_image = object.image not in [None, ""]
has_image = obj.image not in [None, ""]
if has_image:
image_base64 = base64.b64encode(object.image.file.read())
# TODO: Maybe rethink this? Dunno if unsafe.
image_type = "image/" + object.image.file.name.split(".")[-1]
image_base64 = base64.b64encode(obj.image.file.read())
# Maybe rethink this? Dunno if unsafe.
image_type = "image/" + obj.image.file.name.split(".")[-1]
else:
image_base64 = ""
image_type = ""
data = {
"id": object.pk,
"text_de": object.text_de,
"text_en": object.text_en or "",
"id": obj.pk,
"text_de": obj.text_de,
"text_en": obj.text_en or "",
"has_image": has_image,
"image_type": image_type,
"image": image_base64,
......
......@@ -5,7 +5,6 @@ Defines the views for the API
# from django.shortcuts import render
from rest_framework import viewsets
from rest_framework import filters
from rest_framework.views import APIView
from rest_framework.response import Response
from django.shortcuts import get_object_or_404
......@@ -104,7 +103,7 @@ class SmallSportListView(viewsets.ViewSet):
if "ordering" in request.query_params.keys():
order_by = order_by_dict[request.query_params.get("ordering")]
# TODO: Maybe care for is_filled ordering
# Maybe care for is_filled ordering in the Future?
sports = Sport.objects.all().order_by(order_by)
sports = paginator.paginate_queryset(sports, request)
......@@ -539,7 +538,7 @@ class SnackTivityView(viewsets.ViewSet):
data = SingleSnackTivitySerializer().to_internal_value(request.data)
new_object = self.used_objects()
new_object = self.used_objects() # pylint: disable=not-callable
if "text_de" in data.keys():
new_object.text_de = data["text_de"]
......@@ -572,18 +571,18 @@ class SnackTivityView(viewsets.ViewSet):
Assumes every Data was given and fills them out for given PK
"""
object = get_object_or_404(self.used_objects, pk=pk)
obj = get_object_or_404(self.used_objects, pk=pk)
data = SingleSnackTivitySerializer().to_internal_value(request.data)
object.text_de = data["text_de"]
object.text_en = data["text_en"]
obj.text_de = data["text_de"]
obj.text_en = data["text_en"]
object.take_base64_image(data["image"], data["image_type"])
obj.take_base64_image(data["image"], data["image_type"])
object.save()
obj.save()
return Response(SingleSnackTivitySerializer(object).data)
return Response(SingleSnackTivitySerializer(obj).data)
def partial_update(self, request, pk=None):
"""
......@@ -591,21 +590,21 @@ class SnackTivityView(viewsets.ViewSet):
Fills in Given Data in PK
"""
object = get_object_or_404(self.used_objects, pk=pk)
obj = get_object_or_404(self.used_objects, pk=pk)
data = SingleSnackTivitySerializer().to_internal_value(request.data)
if "text_de" in data.keys():
object.text_de = data["text_de"]
obj.text_de = data["text_de"]
if "text_en" in data.keys():
object.text_en = data["text_en"]
obj.text_en = data["text_en"]
if "image" in data.keys():
object.take_base64_image(data["image"], data["image_type"])
obj.take_base64_image(data["image"], data["image_type"])
object.save()
obj.save()
return Response(SingleSnackTivitySerializer(object).data)
return Response(SingleSnackTivitySerializer(obj).data)
def destroy(self, request, pk=None):
"""
......@@ -613,12 +612,12 @@ class SnackTivityView(viewsets.ViewSet):
Deletes given PK
"""
object = get_object_or_404(self.used_objects, pk=pk)
obj = get_object_or_404(self.used_objects, pk=pk)
# Delete Appended Image first
object.image.delete()
obj.image.delete()
object.delete()
obj.delete()
return Response(status=404)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment