Skip to content

error:malformed calendar; expected end #111

@Kipeuch

Description

@Kipeuch

Current Behavior:

Hello, I'm trying to parse a calendar using your library.
Calendar obtained via http.
Here's my code:

icalURL := "http://english.mirea.ru/schedule/api/ical/1/248"

resp, err := http.Get(icalURL)
if err != nil {
	log.Fatal(err)
}
defer resp.Body.Close()

fmt.Println("Raw iCal data:")
body, err := io.ReadAll(resp.Body)
if err != nil {
	log.Fatal(err)
}
fmt.Println(string(body))

calendar, err := ics.ParseCalendar(strings.NewReader(string(body)))
if err != nil {
	log.Fatal(err)
}

fmt.Println(calendar)

Calendar is nil and error “malformed calendar; expected end”

Expected Behavior:

I tested parsing this calendar(from the same link) in python using the library icalendar, everything parsed as I needed it to.

Steps To Reproduce:

Minimal Example ical extract:

BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
VERSION:2.0
X-WR-CALNAME:БСБО-01-21
BEGIN:VTIMEZONE
TZID:Europe/Moscow
X-LIC-LOCATION:Europe/Moscow
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0300
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTEND;TZID=Europe/Moscow;VALUE=DATE:20240324
DTSTAMP;TZID=Europe/Moscow:00010101T000000
DTSTART;TZID=Europe/Moscow;VALUE=DATE:20240323
SEQUENCE:0
SUMMARY:Все занятия в дистанционном формате
TRANSP:TRANSPARENT
UID:c68bc5ec-e46f-55ae-9f0a-9cea4365dc9b
END:VEVENT
BEGIN:VEVENT
CATEGORIES:ЛК
DESCRIPTION:Преподаватель: Корягин Сергей Викторович\n\nГруппы:\nБСБО-01-2
 1\nБСБО-02-21\nБСБО-04-21\n
DTEND;TZID=Europe/Moscow:20240902T121000
DTSTAMP:00010101T000000
DTSTART;TZID=Europe/Moscow:20240902T104000
LOCATION:455 (С-20)
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20241230T210000Z
SEQUENCE:0
SUMMARY:ЛК Создание инструментальных средств разработки программного обесп
 ечения
TRANSP:OPAQUE
UID:f9de3adf-37f2-5710-abaf-27bd64443c70
X-SCHEDULE_VERSION-ID:8
END:VEVENT
BEGIN:X-SCHEDULE-VERSION
SVID:8
X-SV-END:2024-12-30T21:00:00.0000000Z
X-SV-START:2024-09-01T21:00:00.0000000Z
X-SV-TYPE:SEMESTER
END:X-SCHEDULE-VERSION
END:VCALENDAR

Anything else:

icalURL := "http://english.mirea.ru/schedule/api/ical/1/248"

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions