From e4568658b96574ec6b204b04c3ed444f8aac682b 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 | 1 + .../quiz/migrations/0007_questionorder.py | 30 +++++++++++++++---- unisportomat/quiz/models.py | 21 +++++++++---- 3 files changed, 41 insertions(+), 11 deletions(-) diff --git a/.pylintrc b/.pylintrc index 0deca7b..ba3c419 100644 --- a/.pylintrc +++ b/.pylintrc @@ -9,3 +9,4 @@ disable=line-too-long, abstract-method, arguments-differ, invalid-name + no-else-raise 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 6e8b988..4e6d507 100644 --- a/unisportomat/quiz/models.py +++ b/unisportomat/quiz/models.py @@ -189,12 +189,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"]' ) @@ -221,12 +228,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 @@ -237,9 +246,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