From 4dd5c4d9c28113bf8f8fb84132408074f941f656 Mon Sep 17 00:00:00 2001 From: borzechof99 <borzechof99@mi.fu-berlin.de> Date: Sun, 27 Jun 2021 16:28:38 +0200 Subject: [PATCH] Add Linter and Black Adherence --- .pylintrc | 3 +- .../quiz/migrations/0007_questionorder.py | 30 +++++++++++++++---- unisportomat/quiz/models.py | 21 +++++++++---- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/.pylintrc b/.pylintrc index a38492d..9e376cf 100644 --- a/.pylintrc +++ b/.pylintrc @@ -3,4 +3,5 @@ fail-under=10 [MESSAGES CONTROL] disable=line-too-long, - django-not-configured + django-not-configured, + no-else-raise \ No newline at end of file diff --git a/unisportomat/quiz/migrations/0007_questionorder.py b/unisportomat/quiz/migrations/0007_questionorder.py index e4b79e3..efaf4db 100644 --- a/unisportomat/quiz/migrations/0007_questionorder.py +++ b/unisportomat/quiz/migrations/0007_questionorder.py @@ -6,17 +6,35 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('quiz', '0006_auto_20210612_1230'), + ("quiz", "0006_auto_20210612_1230"), ] operations = [ migrations.CreateModel( - name='QuestionOrder', + name="QuestionOrder", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('order_id', models.IntegerField(null=True)), - ('type_of_slot', models.TextField(choices=[('question', 'question'), ('snack', 'snack'), ('activity', 'activity')], default='snack')), - ('question_id', models.IntegerField(default=-1)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("order_id", models.IntegerField(null=True)), + ( + "type_of_slot", + models.TextField( + choices=[ + ("question", "question"), + ("snack", "snack"), + ("activity", "activity"), + ], + default="snack", + ), + ), + ("question_id", models.IntegerField(default=-1)), ], ), ] diff --git a/unisportomat/quiz/models.py b/unisportomat/quiz/models.py index 5b7041c..eafec1b 100644 --- a/unisportomat/quiz/models.py +++ b/unisportomat/quiz/models.py @@ -102,12 +102,19 @@ class QuestionOrderManager(models.Manager): """ def create_entry_at_end(self, type_of_slot, question_id=None): + """ + Creates a new OrderEntry at the end of the current Order (so the object gets given the highest order_id) + """ if type_of_slot == "question" and question_id is None: raise ValueError( "A Question ID must be given if the Type of the Slot is Question" ) - elif type_of_slot not in ["question", "snack", "activity"]: + elif type_of_slot not in [ + "question", + "snack", + "activity", + ]: raise ValueError( f'{type_of_slot} not in valid choice list ["question", "snack", "activity"]' ) @@ -134,12 +141,14 @@ class QuestionOrderManager(models.Manager): return entry def delete_entry(self, given_order_id): + """ + Delete an Entry in the QuestionOrder Database and decrement every object that had a larger order_id than the one deleted + """ # Delete must be called on an instance, not a queryset - entry = self.get(order_id = given_order_id) + entry = self.get(order_id=given_order_id) entry.delete() - larger_entries = self.filter(order_id__gte=given_order_id) # The Primary Key of an Object cannot be changed, really, instead a new Object is created when the PK changes @@ -150,9 +159,11 @@ class QuestionOrderManager(models.Manager): entry.save() def delete_entry_by_question_id(self, given_question_id): + """ + Delete an Entry in the QuestionOrder DB by the Question_ID + """ - - queryset = self.filter(question_id = given_question_id) + queryset = self.filter(question_id=given_question_id) if queryset.count() == 0: # If the Question doesn't exist in the Order, we don't need to do anything -- GitLab