Open Konfekt opened 5 years ago
This happens when the Location field contains a long string, such as
LOCATION:https://www.company.com/w/954798596?tk=gtNEFjf7rwgIiqvjpfIUI5ISptZtHp4bl4kImdaCD7Y.DQEAAAAAOOkSBBZCUEkwTUlYRlJRcTVDUGhuSFNhV
An example ics
file is
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Telekom//SPICA v1
BEGIN:VEVENT
UID:108659389
ORGANIZER:Organizer
SUMMARY:Summary
LOCATION:https://www.company.com/w/954798596?tk=gtNEFjf7rwgIiqvjpfIUI5ISptZtHp4bl4kImdaCD7Y.DQEAAAAAOOkSBBZCUEkwTUlYRlJRcTVDUGhuSFNhV
PRIORITY:9
DTSTART:20181110T120000Z
DTEND:20181110T163000Z
DTSTAMP:20190312T132506Z
LAST-MODIFIED:20190602T121503Z
SEQUENCE:31
BEGIN:VALARM
TRIGGER:-P1D
ACTION:DISPLAY
DESCRIPTION:Description
END:VALARM
END:VEVENT
END:VCALENDAR
If a line, for example the entry
LOCATION
in the syncedics
file contains more than 80 characters or is (broken up and then) followed by another line not pertaining to a new entry, then a client error400
is thrown on syncing. It disappears as soon as the offending line is removed.Calendars also have a color property
metadata = ["calendar", "blue"]
To resolve a conflict the following values are possible:
null
- abort when collisions occur (default)"a wins"
- assume a's items to be more up-to-date"b wins"
- assume b's items to be more up-to-dateconflict_resolution = "a wins"
[storage CalendarLocal] type = "filesystem" path = "~/.local/share/vdirsyncer/calendars/" fileext = ".ics"
[storage CalendarRemote] type = "caldav" url = "https://spica.t-online.de" username = "konfekt@t-online.de" password.fetch = ["command", "pass", "t-online"]
error: Unknown error occured for restCalendar/USER_CALENDAR-MAIN: 400 Client Error: for url: https://spica.t-online.de/spica-calendar/caldav/principals/konfekt@t-online.de/calendars/USER_CALENDAR-MAIN/120049010000000065340288-ZOOM954798596OCCURRENCE1560614400000.ics error: Use
-vdebug
to see the full traceback. debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/cli/utils.py", line 74, in handle_cli_error debug: raise e debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/sync/init.py", line 153, in sync debug: partial_sync debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/sync/init.py", line 274, in run debug: partial_sync) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/sync/init.py", line 177, in run debug: self._run_impl(a, b) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/sync/init.py", line 228, in _run_impl debug: self.dest.storage.update(meta.href, self.item, meta.etag) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/storage/base.py", line 15, in inner debug: return f(self, *args, *kwargs) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/storage/base.py", line 15, in inner debug: return f(self, args, kwargs) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/storage/dav.py", line 546, in update debug: href, etag = self._put(self._normalize_href(href), item, etag) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/storage/dav.py", line 520, in _put debug: headers=headers debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/storage/dav.py", line 390, in request debug: return http.request(method, url, session=self._session, more) debug: File "/usr/lib/python3.6/site-packages/vdirsyncer/http.py", line 163, in request debug: r.raise_for_status() debug: File "/home/konfekt/.local/lib/python3.6/site-packages/requests/models.py", line 935, in raise_for_status