diff --git a/ofu_app/apps/events/utils/migrate_data.py b/ofu_app/apps/events/utils/migrate_data.py index 5d5ad90..d304734 100644 --- a/ofu_app/apps/events/utils/migrate_data.py +++ b/ofu_app/apps/events/utils/migrate_data.py @@ -22,19 +22,30 @@ def writeFekideDataInDB(data): for event in date['events']: try: Location.objects.create(name=event['location']) - event_obj = Event.objects.create() - event_obj.save() - event_obj.date = datetime.strptime(date['date'], "%d.%m.%Y") - event_obj.category = event['category'] - event_obj.link = event['link'] - event_obj.time = datetime.strptime(str(event['time']).split()[1], "%H:%M") - event_obj.title = event['title'] - event_obj.locations.add(Location.objects.get(name=event['location'])) - event_obj.save() - Event.objects.filter(title="").delete() + except IntegrityError: + # print("Location %s already exists." % event['location']) + pass + + try: + event_obj, new = Event.objects.get_or_create(date=datetime.strptime(date['date'], "%d.%m.%Y"), + title=event['title']) + if new: + event_obj.category = event['category'] + event_obj.link = event['link'] + event_obj.time = datetime.strptime(str(event['time']).split()[1], "%H:%M") + event_obj.locations.add(Location.objects.get(name=event['location'])) + event_obj.save() + Event.objects.filter(title="").delete() + else: + print("Event %s already exists. Start Update" % str(event_obj.title)) + event_obj.category = event['category'] + event_obj.link = event['link'] + event_obj.time = datetime.strptime(str(event['time']).split()[1], "%H:%M") + event_obj.locations.add(Location.objects.get(name=event['location'])) + event_obj.save() except IntegrityError: # ignored - break + pass def deleteUnivisObjects(): @@ -107,22 +118,30 @@ def writeUnivisEventsInDB(events: list): Event.objects.filter(title="").delete() -def main(): - deleteUnivisObjects() - events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_HuWi) - writeUnivisDataInDB(events, rooms, persons) - events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_SoWi) - writeUnivisDataInDB(events, rooms, persons) - events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_GuK) - writeUnivisDataInDB(events, rooms, persons) - events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_WIAI) - writeUnivisDataInDB(events, rooms, persons) - - writeFekideDataInDB(fekide_eventpage_parser.parsePage()) - +def write_out_db_objects(): pprint("Event: " + str(Event.objects.count())) pprint("Location: " + str(Location.objects.count())) +def main(): + print("Aktueller Stand:") + write_out_db_objects() + + # deleteUnivisObjects() + # events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_HuWi) + # writeUnivisDataInDB(events, rooms, persons) + # events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_SoWi) + # writeUnivisDataInDB(events, rooms, persons) + # events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_GuK) + # writeUnivisDataInDB(events, rooms, persons) + # events, rooms, persons = univis_eventpage_parser.parsePage(UNIVIS_RPG_WIAI) + # writeUnivisDataInDB(events, rooms, persons) + + writeFekideDataInDB(fekide_eventpage_parser.parsePage()) + + print("Neuer Stand:") + write_out_db_objects() + + if __name__ == '__main__': main() diff --git a/ofu_app/apps/food/utils/migrate_data.py b/ofu_app/apps/food/utils/migrate_data.py index b059670..68d5f7c 100644 --- a/ofu_app/apps/food/utils/migrate_data.py +++ b/ofu_app/apps/food/utils/migrate_data.py @@ -39,7 +39,6 @@ def writeStudentenwerkDataInDB(data): def writeFekideDataInDB(data): - print(data) for happyhour_data in data['happyhours']: time = str(happyhour_data['time']).replace(" ", "").split("-") happyhour, new = HappyHour.objects.get_or_create(date=datetime.strptime(data['day'], "%A, %d.%m.%Y"), @@ -47,9 +46,7 @@ def writeFekideDataInDB(data): description=happyhour_data['description'], starttime=datetime.strptime(time[0], "%H:%M").time(), endtime=datetime.strptime(time[1], "%H:%M").time()) - print("HH: %s, NEW: %s" % (str(happyhour), str(new))) if not new: - print("Update db object " + happyhour.location) happyhour.date = datetime.strptime(data['day'], "%A, %d.%m.%Y") happyhour.location = happyhour_data['location'] happyhour.description = happyhour_data['description'] diff --git a/ofu_app/templates/events/week_events.jinja b/ofu_app/templates/events/week_events.jinja index dba8db9..33f5d91 100644 --- a/ofu_app/templates/events/week_events.jinja +++ b/ofu_app/templates/events/week_events.jinja @@ -17,7 +17,9 @@
  • {{ location.name }}
  • {% endfor %} - Details + {% if event.link %} + Details + {% endif %}

    Kategorie: {{ event.category }}