lpil / lpil/icalendar

Support multiple ICS entries in one file.

Open
#19 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
106
Forks
67
PR merge metrics
No merged PRs in 30d

Description

I'm using this library alongside with `vdirsyncer` and the single file storage backend.

I would like to get this library to parse a whole file with the entries in, but it does _not_ seem to work.

This is the error I receive.

```
iex(1)> ICalendar.from_ics(File.read!("personal.ics"))
** (MatchError) no match of right hand side value: {:error, "Expected `T`, but found `Z` at line 1, column 9."}
(icalendar) lib/icalendar/util/deserialize.ex:87: ICalendar.Util.Deserialize.parse_attr/2
(elixir) lib/enum.ex:1811: Enum."-reduce/3-lists^foldl/2-0-"/3
```

I have not figured out the issue yet, but I would like to know if its possible to tweak icalendar to support multiple entries of a ICalendar in one file.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with ICalendar.from_ics and the failure reported at lib/icalendar/util/deserialize.ex:87 in parse_attr/2. Reproduce the error using the personal.ics file with multiple entries, then trace how the deserializer handles one calendar entry. Done means a whole ICS file containing multiple entries parses without the reported MatchError.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.