Incorrectly identifies/configures vdirsyncer calendars
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.1k
- Forks
- 233
- Avg merge
- 1h 44m
- Merged PRs (30d)
- 1
Description
This might be related to #145, but that issue seems stale and done, so here's a new one, from https://bugs.debian.org/855654:
I just set up khal and let it discover my vdirsyncer config:
The following collections were found:
madduck_calendar_local: ~/.var/vdirsyncer/calendar
madduck_contacts_local: ~/.var/vdirsyncer/contacts
First, the second of those is a contact store, and khal really should just
ignore it, rather than create a stanza for it under [calendars]:
[calendars]
[[madduck_calendar_local]]
path = ~/.var/vdirsyncer/calendar
type = calendar
[[madduck_contacts_local]]
path = ~/.var/vdirsyncer/contacts
type = discover
Second, this is actually wrong, because the above is the filesystem root for
the collections that belong to the sync pair, but khal identifies that as
a collection itself. The actual sync pair is called "calendar.ics".
This has the following effect: khal parses the directory and descends into
~/.var/vdirsyncer/calendar/calendar.ics/, but also into all other
collections under ~/.var/vdirsyncer/calendar/.
Furthermore, new events are generated directly in
~/.var/vdirsyncer/calendar/ and thus will not be picked up by vdirsyncer's
next sync run.
The right thing to do would be to create a calendar for every collection
within the vdirsyncer filesystem locations. And in fact, if I manually change
the path to ~/.var/vdirsyncer/calendar/calendar.ics/ in the khal config,
then it works.
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 by tracing khal's vdirsyncer configuration discovery from the reported behavior, focusing on how filesystem locations, collection directories, and contact stores are classified. Verify the handling against the example paths and confirm that calendars are created for each collection, contact stores are ignored, and generated events use collection paths that vdirsyncer will sync.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100