From 76f3533fc4979dd7fb34a4f68564063c6fbfbb0d Mon Sep 17 00:00:00 2001 From: SamuelmdLow Date: Wed, 2 Oct 2024 07:48:45 +0000 Subject: [PATCH] Add host name to previews for seminar events, syndicated green college events calendar, removed annoying whitespace and newlines in event description when reading ical --- events/models.py | 6 ++++++ events/views.py | 10 +++++++++- .../static_src/src/js/components/Events/calendar.jsx | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/events/models.py b/events/models.py index 76b948147..59c0f4304 100644 --- a/events/models.py +++ b/events/models.py @@ -83,6 +83,12 @@ async def ical_create_event(self, ical_component, name, instructions): event.title=str(ical_component.decoded('summary'), 'UTF-8') if ical_component.get('description', False): event.description=str(ical_component.decoded('description'), 'UTF-8') + while '\t' in event.description: + event.description = event.description.replace("\t", "") + while '\n ' in event.description: + event.description = event.description.replace("\n ", "\n") + while '\n\n\n' in event.description: + event.description = event.description.replace("\n\n\n", "\n\n") else: event.description="" diff --git a/events/views.py b/events/views.py index 799b962f7..fd841cfe0 100644 --- a/events/views.py +++ b/events/views.py @@ -468,7 +468,6 @@ async def update_events(request): await asyncio.gather(*tasks) tasks = [] - ical_files = [ {'name': 'Go Thunderbirds', @@ -530,6 +529,15 @@ async def update_events(request): 'hidden_override': lambda e : len(e.get('categories').cats) > 0, # The scheduled events are all cringe but well categorized. Events added manually can be cool but categories typically aren't added. At some point we should be more sophistiacted in filtering this lmao } }, + + {'name': 'Green College', + 'file': 'https://greencollege.ubc.ca/civicrm/event/ical', + 'create_function': Event.objects.ical_create_event, + 'instructions': { + 'category': 'seminar', + 'description_transform': lambda e : e.description.split('in the series\n\n')[-1][e.description.split('in the series\n\n')[-1].index("\n")+4:], + } + }, ] for f in ical_files: diff --git a/ubyssey/static_src/src/js/components/Events/calendar.jsx b/ubyssey/static_src/src/js/components/Events/calendar.jsx index 4648644cf..628cc7d80 100644 --- a/ubyssey/static_src/src/js/components/Events/calendar.jsx +++ b/ubyssey/static_src/src/js/components/Events/calendar.jsx @@ -438,7 +438,7 @@ function EventsCalendar({events}) { setSearchParams(searchParams); }} dangerouslySetInnerHTML={ - {__html: "" + event.displayTime + " " + event.title} + {__html: "" + event.displayTime + " " + ((event.host && event.category=="seminar") ? event.host.replace("UBC ", "").split("for ").slice(-1)[0].split("of ").slice(-1)[0] + ":
" : "" ) + event.title} }> {/* {event.start_time|date:"F j" != event.end_time|date:"F j" and day.day|stringformat:"i" != event.start_time|date:"j" %}Ongoing{% elif event.start_time|time == 'midnight' %}{% else %}{{event.start_time|time:"fA"}}{% endif %} {event.title|safe}