aboutsummaryrefslogtreecommitdiff
path: root/management
diff options
context:
space:
mode:
authorAlban Gruin2018-01-28 11:20:49 +0100
committerAlban Gruin2018-01-28 11:20:49 +0100
commitaab8372b27c27becbdf875d6c30fa49ea218abf4 (patch)
tree120556d1027f6ab674968dbe55e4c590d020dbdc /management
parent77a4b75431cfab7348db73b563dd005ce64be14a (diff)
Remplacement de la fonction get_from_db_or_create() par objects.get_or_create()
Diffstat (limited to 'management')
-rw-r--r--management/commands/_private.py17
1 files changed, 3 insertions, 14 deletions
diff --git a/management/commands/_private.py b/management/commands/_private.py
index bac749b..0f87179 100644
--- a/management/commands/_private.py
+++ b/management/commands/_private.py
@@ -38,17 +38,6 @@ def delete_courses_in_week(source, year, week, today):
source=source).delete()
-def get_from_db_or_create(cls, **kwargs):
- obj = cls.objects.all().filter(**kwargs)
-
- obj = obj.first()
- if obj is None:
- obj = cls(**kwargs)
- obj.save()
-
- return obj
-
-
def get_event(source, event, event_week, today):
"""Renvoie une classe Course à partir d’un événement récupéré par BS4"""
# On récupère la date de l’évènement à partir de la semaine
@@ -65,8 +54,8 @@ def get_event(source, event, event_week, today):
course = Course.objects.create(source=source, begin=begin, end=end)
# On récupère les groupes concernés par les cours
- groups = [get_from_db_or_create(Group, source=source,
- celcat_name=item.text)
+ groups = [Group.objects.get_or_create(source=source,
+ celcat_name=item.text)[0]
for item in event.resources.group.find_all("item")]
course.groups.add(*groups)
@@ -94,7 +83,7 @@ def get_event(source, event, event_week, today):
# en ait pas… qui sont ils, leurs réseaux, tout ça…), on les insère
# dans la base de données, et on les ajoute dans l’objet cours
if event.resources.room is not None:
- rooms = [get_from_db_or_create(Room, name=item.text)
+ rooms = [Room.objects.get_or_create(name=item.text)[0]
for item in event.resources.room.find_all("item")]
course.rooms.add(*rooms)