diff options
-rw-r--r-- | management/commands/_private.py | 17 |
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) |