Skip to content

Events calendar update not working correctly if start time == end time #2021

Closed
@malemburg

Description

@malemburg

See Sentry https://sentry.io/organizations/python-software-foundation/issues/3162539277/?project=39935&query=is%3Aunresolved+event&statsPeriod=14d for details.

KeyError: 'DTEND'
  File "/app/manage.py", line 22, in <module>
    main()
  File "/app/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "events/management/commands/import_ics_calendars.py", line 18, in handle
    calendar.import_events()
  File "events/models.py", line 45, in import_events
    importer.import_events()
  File "events/importer.py", line 63, in import_events
    return self.import_events_from_text(ical)
  File "events/importer.py", line 72, in import_events_from_text
    self.import_event(event)
  File "events/importer.py", line 53, in import_event
    self.import_occurrence(event, event_data)
  File "events/importer.py", line 21, in import_occurrence
    dt_end = extract_date_or_datetime(event_data['DTEND'].dt)
  File "icalendar/caselessdict.py", line 42, in __getitem__
    return super(CaselessDict, self).__getitem__(key.upper())

The event in question uses the same value for start and end time (by mistake). This causes the above traceback. Apparently, such entries don't receive a DTEND entry from Google's API.

Metadata

Metadata

Assignees

No one assigned

    Labels

    app/eventsRelates to the calendars and events appbugThis is a bug!

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions