pimutils / pimutils/vdirsyncer
Fails to parse RFC 7986-compliant iCalendar files
Open
Beginner friendly
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 185
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 1
Description
The parser fails if the VCALENDAR element has a UID property (not allowed by RFC 5545 but added in RFC 7986, see https://www.rfc-editor.org/info/rfc7986/#section-5.3 ).
The issue can be triggered with a test like this:
def test_vcalendar_with_uid():
vcal_with_uid = """BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Test//Test//EN
UID:calendar-uid-123
BEGIN:VEVENT
DTSTART:20140325T084000Z
DTEND:20140325T101000Z
UID:event-uid-456
SUMMARY:Test Event
END:VEVENT
END:VCALENDAR"""
item = vobject.Item(vcal_with_uid)
assert item.uid == "event-uid-456"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the parser entry point used by vobject.Item with the provided vCalendar string, then run the test case showing a UID on VCALENDAR and a separate UID on VEVENT. Done means RFC 7986-compliant calendars parse successfully and item.uid remains event-uid-456.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100