Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor generation of iCalendar files #5393

Open
1 task done
jennifer-richards opened this issue Mar 21, 2023 · 3 comments
Open
1 task done

Refactor generation of iCalendar files #5393

jennifer-richards opened this issue Mar 21, 2023 · 3 comments

Comments

@jennifer-richards
Copy link
Member

Description

The datatracker generates iCalendar (RFC5545) compatible files in several places. These are generated via Django template interpolation. These templates involve quite a bit of conditional logic and wind up being fragile. I suggest investigating whether it's practical to offload generation of the iCalendar file to a library.

https://pypi.org/project/icalendar/ seems to be an obvious package to consider.

Code of Conduct

@rjsparks
Copy link
Member

@alexamirante reports that the current handcruft is breaking Thunderbird's calendar here:

DESCRIPTION:
 Note: Moving the meeting to review I-D draft-ietf-mpls-mna-usecases based on the authors request.
\

\
\n
 \nAgenda:
  https://datatracker.ietf.org/meeting/interim-2023-mpls-17/materials/agenda-interim-2023-mpls-17-mpls-01-00\n

@jennifer-richards
Copy link
Member Author

It was pointed out in #7113 that the current mechanism for including timezone data includes daylight savings RDATE fields going back to the early 1900s. If possible, the timezone data should be pruned to relevant entries.

@jennifer-richards
Copy link
Member Author

In addition to the badly broken output in #8498, the iCalendar validator reports that we should

  • fold lines to be less than 75 octets long
  • use CRLF instead of LF line terminators

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants