pimutils / pimutils/vdirsyncer
Accept NotFoundErrors
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 185
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 1
Description
- Your vdirsyncer version: vdirsyncer, version 0.16.7
- If applicable, which server software (and which version) you're using: Apple Calendar Server
- Your Python version: Python 3.6.5
- Your operating system: MacOS 10.13.6
Hi there,
I am trying to utilize vdirsyncer to one-way sync some calendars from Apple Calendar Server into a singlefile ics. Unfortunately, it seems there are some broken URLs/Files reported by the server. I would like to accept these errors and just skip over them, but unfortunately vdirsyncer raises an exception and quits:
error: Unknown error occured for username/calendar: /calendars/__uids__/181DB98E-F898-4643-B5A9-E7DBA477B001/calendar/https:%2Fwww.xing.com%2Fevents%2Fgrowthmarketingsummit-2018-1939105.ics
error: Use `-vdebug` to see the full traceback.
debug: File "/Users/jan/.venvs/vdirsyncer/lib/python3.6/site-packages/vdirsyncer/cli/tasks.py", line 69, in sync_collection
debug: partial_sync=pair.partial_sync
debug: File "/Users/jan/.venvs/vdirsyncer/lib/python3.6/site-packages/vdirsyncer/sync/__init__.py", line 136, in sync
debug: b_nonempty = b_info.prepare_new_status()
debug: File "/Users/jan/.venvs/vdirsyncer/lib/python3.6/site-packages/vdirsyncer/sync/__init__.py", line 59, in prepare_new_status
debug: if prefetch else ()):
debug: File "/Users/jan/.venvs/vdirsyncer/lib/python3.6/site-packages/vdirsyncer/storage/dav.py", line 507, in get_multi
debug: raise exceptions.NotFoundError(href)
Is there any way (hidden switch) to change this behaviour?
Thank you & best regards,
Jan
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 with the traceback entry points in vdirsyncer/sync/init.py and vdirsyncer/storage/dav.py, especially get_multi where NotFoundError is raised. Reproduce the one-way sync against the reported broken calendar URL and determine how the requested skip behavior should work; done means the sync continues without quitting on that error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100