forked from python-caldav/caldav
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
616 lines (463 loc) · 29.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
2020-05-28 Tobias Brox <[email protected]>
* caldav/lib/namespace.py - The http://apple.com/ns/ical/ namespace should not be passed in every request
* caldav/objects.py - bugfix, URLs should be quoted, and not contain '@' etc. That ical namespace for calendar color should be imported. refactoring, the new search method can replace quite some duplicated code.
* docs/source/index.rst - comment on calendar-color and calendar-order, non-standard extentions supported by many server implementations. Add a section for objectives/scope of the library.
* tests/compatibility_issues.py - should explicitly tell that calendarcolor and calendarorder should be tessted.
* tests/conf.py - it should be possible to disable xandikos/radicale testing without specifying server parameters in conf_private.py
* tests/conf_private.py.EXAMPLE - try to list up all flags
* tests/test_caldav.py - fix to support upstream changes in radicale that breaks the radicale server creation, make most of the duplication test skipable (due to bedeworks), tests for calendar color and order
2020-05-20 Tobias Brox <[email protected]>
* caldav/lib/python_utilities.py - still some more python2/python3-unicode/str/byte problem solving
* caldav/objects.py - splitting up the date_search into three submethods, making it easier to do custom searches. icalendar support. Making sure all modifications through either vobject, icalendar or raw data is honored.
* docs/source/index.rst - icalendar support
* examples/basic_usage_examples.py - vobject support
* setup.py - icalendar is now a test requirement (and also an optional requirement for library users)
* tests/test_caldav.py - the icalendar instantiation should be exercises
2020-05-19 Tobias Brox <[email protected]>
* caldav/davclient.py - save the auth object, to avoid lots of failed autentications on servers not handling digestauth.
* caldav/objects.py - bugfix, Event class should not be used for Todo items, etc
* tests/test_caldav.py - some bugfixes, some more test code
2020-05-18 Tobias Brox <[email protected]>
* caldav/davclient.py - save the auth object, to avoid lots of failed autentications on servers not handling digestauth.
* caldav/objects.py - bugfix, Event class should not be used for Todo items, etc
* tests/test_caldav.py - some bugfixes, some more test code
2020-05-17 Tobias Brox <[email protected]>
* README.md - correct pointers to updated documentation
* caldav/objects.py - support for creating entries even without a given uid field
* docs/source/conf.py - taking credits for the work. trying to avoid a warning when generating the docs
* tests/caldav.py - more tests
* docs/source/index.rst - documentation tweaks
* setup.cfg - attempt on getting the sphinx-upload-thing to work
2020-05-17 Tobias Brox <[email protected]>
* tests/compatibility_issues.py - more research into server incompatibities
* tests/caldav.py - more tests
2020-05-16 Tobias Brox <[email protected]>
* README.md - work on improved documentation
* davclient.py - found some code that is probably not needed, and commented it
* caldav/lib/error.py - added a ConsistencyError
* caldav/objects.py - improved error message, typo fixing in docstrings, new options no_overwrite and no_create to the save methods, bugfixes
* docs/source/ - improved documentation
* examples/basic_usage_example.py - walkthrough of simple caldav usage
* setup.py - bumped version number
* tests/test_caldav.py - using save_-methods rather than add_-methods, exercising the new no_overwrite and no_cretae.
2020-05-14 Tobias Brox <[email protected]>
* caldav/objects.py - old zimbra tweaks are already obsoleted and has to be replaced with new ones. Usage of the word "save" rather than "add" where it's possible both to create a new item or update an old.
* tests/compatibility_issues.py - trying to organize all the compatibility problems found through the tests in one file
* tests/test_caldav.py - support for improved passing of compatibility_issues into server params. Added hooks for ignoring known incompatibilities from servers.
2020-05-13 Tobias Brox <[email protected]>
* .travis.yml - attempt on getting CI with travis on github to work
* caldav/lib/namespace.py - I've finally understood and ironed out some weird bugfix from 2014
* setup.py - tox should test with py37? python 3.8 is the current. Also, radicale is new test requirement.
* tests/conf.py - it should be possible to weak radicale config
* tests/test_caldav.py - spawning up a local radicale instance for test purposes + tweaks to get tests passing under radicale
2020-02-14 Tobias Brox <[email protected]>
* caldav/lib/url.py - unicode/str/byte handling in python2/3 is a mess
* caldav/lib/python_utilities.py - unicode/str/byte handling in python2/3 is a mess
* caldav/davclient.py - unicode/str/byte handling in python2/3 is a mess
* tests/test_caldav.py - made unit tests reproducing some reported unicode/ascii bug report
* setup.py - bumped version number, mock is now a test requirement for python2
2020-02-03 Tobias Brox <[email protected]>
* caldav/objects.py - improved error messages
2019-11-15 Tobias Brox <[email protected]>
* caldav/davclient.py - ref https://github.com/python-caldav/caldav/issues/81 and jimays at github, some versions of the request libary may produce a response object without the reason attribute.
2019-09-30 Stephane Blondon <[email protected]>
* Makefile - fix a Makefile
* setup.py - fix tox
2019-05-29 Tobias Brox <[email protected]>
* .travis.yml - xandikos cannot be installed on python2.7, but we still want to run the available tests
* caldav/lib/error.py - ProppatchError was not defined, ref https://github.com/python-caldav/caldav/issues/54. Also added a common base class DAVError, and made sure the error referenced in #54 will never reappear, even if new methods are added to DAVClient.
* tests/test_caldav.py - testing that the bug referenced in #54 has been properly plugged in caldav/lib/error.py
* caldav/elements/cdav.py - fixing a retention problem - the timezone fixes done recently was not compatible with python 2.7 nor 3.5.
* caldav/objects.py - revisiting https://github.com/python-caldav/caldav/issues/54 - "... is not None" feels more kosher than "... != None", and added TODO-comment that we need to do more research when those variables are None. Bugfix on the error handling for multi-status-return, should return the specific error code and error message found, not the "207 Multi-Status".
* setup.py - reintroducing dependencies pytz and tzlocal - but only for old python versions
* tests/conf.py - test_xandikos should be defaulted to False if xandikos not present (as it can never be present on 2.7)
* tests/test_cdav.py - make the test python2.7-compatible (though some of the testing is a bit moot, as same code path is used in code and in test)
2019-05-28 Tobias Brox <[email protected]>
* .travis.yml - ref https://github.com/python-caldav/caldav/issues/57, fixing automated test runs after each commit and on each pull request.
* setup.py - new default tests depends on xandikos
* tests/conf.py - new defaults - testing towards external unreliable public test servers are disabled by default, an internal xandikos server is set up and tests are by default run towards that one
* tests/conf_private.py.EXAMPLE - new file, setting an example on how to run tests towards personal servers
* tests/test_caldav.py - added a test class that spawns a xandikos server instance and runs the functional test suite towards it. Unfortunately it only works under python3. Ref https://github.com/python-caldav/caldav/issues/46
2019-05-19 Jelmer Vernooij <[email protected]>
* caldav/objects.py - bugfixing
2019-05-19 Achim Herwig <[email protected]>
* README.md - proper documentation of the dual licensing, ref https://github.com/python-caldav/caldav/issues/60
2019-05-17 Achim Herwig <[email protected]>
* caldav/objects.py - bugfixing
* caldav/elements/cdav.py - more work on timezone handling, ref https://github.com/python-caldav/caldav/issues/55 https://github.com/python-caldav/caldav/issues/52 https://github.com/python-caldav/caldav/pull/59 etc
2019-05-06 Tobias Brox <[email protected]>
* caldav/objects.py - yet another attempt on fixing the timezone handling mess, ref https://github.com/python-caldav/caldav/issues/55 https://github.com/python-caldav/caldav/issues/52 etc
2019-04-21 Mark Meijer <[email protected]>
* caldav/objects.py - fixes (or workarounds?) that solves real-world issues with iCloud and MS Exchange. Ref https://github.com/python-caldav/caldav/pull/56
2019-04-09 Cyril Robert <[email protected]>
* setup.py - Update to 0.6.1 to fix a tagging issue
2019-04-06 Achim Herwig <[email protected]>
* caldav/objects.py - bugfix, ref #52
2019-03-11 Tomáš Chvátal <[email protected]>
* MANIFEST.in - Include tests and changelog in pypi sdist tarball, ref https://github.com/python-caldav/caldav/pull/49
2019-03-11 Tobias Brox <[email protected]>
* caldav/objects.py - bugfix: accept text/calendar (required for fetching calendar items from the xandikos server, ref https://github.com/python-caldav/caldav/issues/40
2019-03-10 Tobias Brox <[email protected]>
* setup.py - pushed the version number to 0.6.0, preparing for release
* ChangeLog - updated with most of the activity since 2017-02
* caldav/objects.py - "expand" in the date_search should be optional.
2019-03-09 Tobias Brox <[email protected]>
* caldav/objects.py - preparing for introducing support for the icalendar module and making the vobject support a legacy thing. Delaying instantiation of vobject. Compatibility fix required by the xandikos server implementation.
2019-03-08 Tobias Brox <[email protected]>
* caldav/elements/cdav.py - proper timezone support, the support made by Alghost was not following the standard, and caused breakage with one of the servers. Caveat: In 0.5.0, a timestamp date_search was assumed to be UTC, with the patch from Alghost a timestamp without tzinfo was passed without any time zone info (and possibly interpreted to be in the same time zone as the caldav server), with this patch it's assumed to be in the clients local timezone. Backward compatibility may be slightly broken (and test results may depend on the time zone the tests are run under)
* setup.py - now we're dependent on pytz and tzlocal
* caldav/object.py - some caldav servers don't want to give us all pending TODOs in one query. Working around it. Credits to mayjs <[email protected]> for pointing out this issue and attempting to solve it.
* test/caldav_test.py - letting one of the VTODO items in the test file be without a defined STATUS.
2018-12-05 Notmarrco <[email protected]>
* caldav/elements/dav.py - add GetEtag
2018-09-13 Diane Trout
* setup.py - move out test dependencies
2017-12-28 Earl Chew <[email protected]>
* caldav/objects.py - bugfix
2017-12-25 Earl Chew <[email protected]>
* caldav/elements/cdav.py - allow Expand tag to be used with open-ended start
2017-12-04 Will Ross <[email protected]>
* example/icloud_example.py - misc cleanup
2017-11-20 Matthias Bilger <[email protected]>
* caldav/lib/namespace.py - Added Apple ical namespace and properties
2017-08-09 Ian Bottomley <[email protected]>
* example/icloud_example.py - some code snippet showing one way to access calendaring information through iCloud
2017-06-01 Andrei Martsinchyk <[email protected]>
* caldav/objects.py - Bugfixing and tweaking, ref https://github.com/python-caldav/caldav/issues/11
2017-05-30 Tobias Brox <[email protected]>
* caldav/davclient.py - bugfix, ref
https://github.com/python-caldav/caldav/issues/12 and
https://github.com/python-caldav/caldav/issues/7
Credits to Andrei Martsinchyk
2017-05-06 Johannes Ammon <[email protected]>
* tests/test_caldav.py - bugfixing, introducing six library, disabling warnings
* caldav/davclient.py - introducing six library
* caldav/element/base.py - introducing six library
* caldav/lib/python_utilities.py - introducing six library
* caldav/lib/url.py - introducing six library
* tests/proxy.py - introducing six library
* * - PEP8
2017-02-03 Tobias Brox <[email protected]>
* setup.py - bugfix, credits to slavkoja
2017-01-26 Tobias Brox <[email protected]>
* tests/test_caldav.py - support for unique calendar IDs in the
test framework. Should make it possible to run tests in parallell
against the same server and user
2017-01-26 Phyks (Lucas Verney) <[email protected]>
* caldav/objects.py - enhancement: add the ability to add events to
calendar using directly a vobject object, and not necessarily an ical
string.
2017-01-24 Tobias Brox <[email protected]>
* caldav/objects.py - bugfix: uid handling while fetching
elements, ref
https://bitbucket.org/cyrilrbt/caldav/issues/54/wrong-uid-fetching-in-calendarevent_by_uid
- credits to Lucas Verney
* tests/conf.py - make it easier to override the public test
servers and run tests exclusively against custom test servers
2017-01-23 Cyril Roberts <[email protected]>
* README.md - Changed the documentation to follow github
standards, while moving the project from bitbucket/hg to
github/git
2017-01-22 Tobias Brox <[email protected]>
* caldav/objects.py - bugfix: after a zimbra upgrade, tests started breaking again as the data from the server was urlencoded. Merged in bugfix for bitbucket issue #46
2017-01-03 Tobias Brox <[email protected]>
* caldav/elements/cdav.py, caldav/objects.py: found a
Calendar-Collection tag that was nowhere to be found in the RFC,
and that also caused tests to break against some caldav servers.
2016-05-15 Alex Martin <[email protected]>
* caldav/objects.py - bugfix, ref pull request #21
2016-10-07 Benedykt Przybyło <[email protected]>
* caldav/elements/cdav.py - bugfix, Fixed namespace for Mkcalendar.
2016-04-25 Tobias Brox <[email protected]>
* caldav/objects.py - adjustments for changes in the vobject module
2016-04-07 Johan Olofsson <johano99@bitbucket>
* caldav/objects.py - add a displayName prop query to the
calendars() method, ref issue #51
2016-03-09 Rian Hunter <[email protected]>
* caldav/objects.py - added todo_by_uid() method
2016-02-03 Johan Olofsson <johano99@bitbucket>
* caldav/objects.py - add a displayName prop query to the
calendars() method, ref issue #51
2016-01-20 Tobias Brox <[email protected]>
* setup.py - missing shebang, problem observed by jbar@freenode, #calendar-cli
* caldav/objects.py - bugfix for problem observed by jbar@freenode, #calendar-cli
2015-11-16 Tobias Brox <[email protected]>
* caldav/objects.py, caldav/elements/cdav.py - attempt on solving bitbucket issue #40
2015-08-15 Tobias Brox <[email protected]>
* caldav/objects.py, caldav/__init__.py - vobjects did not support
python3, so move the "import"-statement so everything not
dependent on vobjects can work under python3.
2015-08-11 Tobias Brox <[email protected]>
* caldav/objects.py - support for http return code 207 multi status from server
2015-05-21 Jochen Sprickerhof <[email protected]>
* caldav/objects.py - proper fix for issue #43
2015-05-20 Tobias Brox <[email protected]>
* caldav/objects.py - allow copying objects. Needed for the
recurring todo completed functionality in calendar-cli. Fixed
bitbucket issue #43 (compatbility fix). Polishing some error
messages.
2015-05-17 Tobias Brox <[email protected]>
* caldav/objects.py - sorting todo events by due date or dstart.
Feature needed by the calendar-cli task management.
2015-04-27 Tobias Brox <[email protected]>
* caldav/objects.py - generalized the calendar date search so
todo-events also can be searched by date. The calendar-cli task
handling depends on this.
2015-04-25 Tobias Brox <[email protected]>
* caldav/objects.py - generalized the code a bit, added a
method object_by_uid and made event_by_uid a wrapper around this
one. Added improved sorting functionality. The task handling in
calendar-cli is dependent on those features.
2015-04-21 Tobias Brox <[email protected]>
* caldav/elements/cdav.py - now support for the free-busy-query element.
* caldav/objects.py - added FreeBusy and Journal objects, plus
calendar methods to retrieve them, and for adding journal entries.
* caldav/tests/test_caldav.py - added tests to add and fetch
journal entries, and to request freebusy information.
2015-04-16 Tobias Brox <[email protected]>
* caldav/lib/error.py - added error class for the propfind method.
Made a dict index for method name -> exception class.
* caldav/elements/cdav.py - bugfix - "negate-condition", not
"negate" in the TextMatch class. Added
SupportedCalendarComponentSet class.
* caldav/elements/davclient.py - obscured the API a bit by
allowing a dummy parameter to be passed to various methods. Not
very nice, but needed for the refactoring work in objects.py.
* caldav/objects.py - VTODO support, new class for Todo-items with
method for completing the task. Calendar creation methods takes a
list of supported element types as optional parameter. Quite some
refactoring, consolidating similar-looking code. Minor bugfix
with the event date search - asking for an expanded event list
with an open end date is not supported by all server
implementations, for obvious reasons. Brushed up some docstrings
and prefixed some internal methods with underscore.
* caldav/tests/test_caldav.py - VTODO support, test code that
creates a task list, adds todo-items to it, completes todo-items,
list them out and deletes todo-items.
2015-04-01 Tobias Brox <[email protected]>
* caldav/objects.py - started working on VTODO support
* caldav/tests/test_caldav.py - started working on VTODO support
2015-04-01 Tobias Brox <[email protected]>
* caldav/lib/url.py - work on python3-support
* tests/conf.py - work on python3-support
2015-03-29 Tobias Brox <[email protected]>
* caldav/objects.py - work on iCloud support. Solves issue #38,
read-only access to iCloud seems to work. Writing still fails,
ref issue #40.
2015-03-19 Tobias Brox <[email protected]>
* tests/conf.py - ignore ImportError when importing conf_private,
but not other exceptions. This way conf_private will be ignored
if it doesn't exist, but if there are syntax error, nosetest should
bark.
2015-03-15 Tobias Brox <[email protected]>
* caldav/lib/python_utilities.py - fixing broken charset
2015-02-26 Jack Laxson <[email protected]>
* setup.py - remove sphinx from install_requires as it is huge and only used
for generating the documentation.
2015-02-23 Luke <[email protected]>
* Interceptable logging
2015-02-16 Luke <[email protected]>
* python3 support
2015-02-14 Tobias Brox <[email protected]>
* tests/test_caldav.py - new test that deletes events
2015-01-24 Tobias Brox <[email protected]>
* caldav/davclient.py - support for digest auth and self-signed
SSL certs, re issue #26 and #34.
* tests/test_caldav.py - more generic URL checks to discover
owncloud and baikal servers.
2015-01-21 Tobias Brox <[email protected]>
* caldav/lib/url.py - workaround: "unauth"-method added port
":None" if no port were given.
2015-01-19 Tobias Brox <[email protected]>
* caldav/lib/url.py - added method strip_trailing_slash
* caldav/objects.py - test breakages on several server
implementations after the trailing slashes were removed. Made a
workaround, though this issue should be investigated better.
2014-05-27 Christian Roeder <[email protected]>
* caldav/davclient.py - RFC compliance fix; Use capitalised Depth:
Header
2014-05-27 Tobias Brox <[email protected]>
* caldav/lib/url.py - Workaround for Zimbra; Zimbra generates
non-ascii URLs when using non-ascii characters in the calendar
name, hence the URL library must accept non-ascii characters.
2014-05-27 Tobias Brox <[email protected]>
* setup.py - include the requests library dependency
2014-05-20 Christian Roeder <[email protected]>
* caldav/lib/url.py - Do not remove trailing slashes of all URLs.
According to the RFC, all collection URLs should end with a
trailing slash, though most caldav server implementations will
handle URLs with and without trailing slashes the same.
2014-05-11 Abdul Rehman Gani <[email protected]>
* caldav/davclient.py - Change to use the requests library. Fixes
several compatibility-issues, i.e. with iCloud a get_properties
call would fail with a Path Handling exception. Happens when
httplib specifies the netloc in the HTTP request, and the returned
xml has the base path equal to that netloc instead of the path.
2014-04-13 Abdul Rehman Gani <[email protected]>
* caldav/davclient.py - Removed extraneous parameter passed to
getresponse(); bugfix in a section not covered by test code
2014-03-14 Tobias Brox <[email protected]>
* General - more verbose documentation
* caldav/test_caldav.py - added an exception for OwnCloud, it does
not support open-ended date searches
2014-03-12 Tobias Brox <[email protected]>
* setup.py - version bump (0.2.2)
* caldav/lib/url.py - battle hardening
* caldav/objects.py - allowing for relative URLs to be used
* caldav/test_caldav.py - test that relative URLs works as expected
* caldav/test_caldav.py - test that the URL library is robust
2014-03-07 Tobias Brox <[email protected]>
* caldav/davclient.py - minor api difference; it feels more
object-oriented to write principal = client.principal() than
principal = Principal(client)
* caldav/tests/test_caldav.py - work to reflect the above
* docs/source/index.rst - work to reflect the above
* docs/source/index.rst - added documentation that the tests may
fail if several test runs are performed simultaneously
* caldav/davclient.py - support for unicode and utf8
* caldav/lib/url.py - support for unicode and utf8
* caldav/objects.py - minor doc enhancement
* tests/test_caldav.py - load an event or a calendar by the URL
* tests/test_caldav.py - test calendar.events()
* tests/test_caldav.py - test utf8 and unicode
* docs/source/index.rst - documentation on how to run the test
suite towards private calendar servers
* setup.py - version bump (0.2.1)
2014-03-01 Tobias Brox <[email protected]>
* caldav/lib/url.py (make): function for backward compatibility
* tests/: more test code, including backward compatibility test
2014-02-16 Tobias Brox <[email protected]>
* caldav/lib/namespace.py: fixing issue
https://bitbucket.org/cyrilrbt/caldav/issue/29/centos59-minifix
2013-12-12 Tobias Brox <[email protected]>
* caldav/objects.py (Calendar): compatibility hack for zimbra -
gotcha! Use Calendar display name in the Calendar URL instead of
Calendar ID.
* caldav/objects.py: internal change - _create method now returns
nothing, but sets self.url and self.id instead.
2013-12-11 Tobias Brox <[email protected]>
* caldav/objects.py (DAVObject): convenience fix - made client a
conditional parameter to __init__. Defaults to parent.client if
parent is given.
* caldav/objects.py (Calendar): convenience fix - made methods
Calendar.event_by_uid and Calendar.event_by_url. Calendar.event
is an alias to Calendar.event_by_uid for backwards compatibility.
Those methods also loads the object from the remote server (hmmm
... does that make sense, it's inconsistent with the
CalendarSet.calendar method)
* caldav/objects.py (Event): a potential compatibility fix - when
creating an event, some servers seems to want the uid to match the
URL (zimbra will yield 302 on the PUT request). However, I wasn't
able to GET the event from zimbra, neither before nor after this
fix :-(
* caldav/elements/cdav.py: compatibility fix - collation
"i; octet" (with whitespace) not recognized by baikal. "i;octet"
(without whitespace) is OK.
2013-12-08 Tobias Brox <[email protected]>
* caldav/objects.py (Calendar): Convenience fix: method add_event
for making it easier to add events. Better error handling; if
calendar creation succeeds but setting calendar name fails, delete
the calendar before raising the exception.
* caldav/objects.py (Event): Bugfix for zimbra - 302 is now an
acceptable return code when creating a new event.
2013-12-07 Tobias Brox <[email protected]>
* caldav/davclient.py (DAVClient.request, DAVResponse): Full HTTP
communication is now available in debug logs
* caldav/davclient.py (DAVClient.__init__): Username and password
can now (optionally) be given as separate parameters instead of as
a part of the configuration URL
* caldav/objects.py: By now it's sufficient to pass the base URL
while initializing the DAVClient object. The library will find
the principal URL and home calendar set URL through GETPROP
* caldav/objects.py (Calendar): workaround for problem that
calendar name didn't get set on some (all?) caldav servers.
* caldav/objects.py (Principal, CalendarSet): created a method
calendar() to make it easier to generate a calendar object
(without server-side communication), and make_calendar for
creating a new calendar at the server side.
* tests/test_caldav.py: all broken tests have been disabled.
Temporary made smaller tests to demonstrate what is actually
working on all caldav servers I've tested against (Zimbra,
DAViCal, Baikal and SoGo).
* caldav/objects.py (DAVObject): (internal change) set __str__ and
__repr__ to make debugging easier
* caldav/objects.py: (internal change) Since the principal path and the calendar
home set path are different on most CALDav server implementations,
a new class CalendarSet has been made.
* caldav/lib/url.py: (internal change) Complete rewrite and
API-change. internally all URLs are now handled as objects
* caldav/objects.py (Principal): (internal change) made it
possible to set principal.calendar_home_set (hardly useful except
for from the unit testing code).
* All files: misc minor changes to reflect all the changes above.
2011-01-22 Cyril Robert <[email protected]>
* caldav/elements/cdav.py (Expand.__init__,
TimeRange.__init__) : Fixed strftime fmt.
2010-10-09 Cyril Robert <[email protected]>
* All files: Made PEP8 compliant
2010-10-04 Olivier Larchevêque <[email protected]>
* caldav/davclient.py (DAVClient.request): fix headers merge before sending request
* caldav/objects.py (Event.__init__): fix for respecting davobject signature
2010-07-15 Cyril Robert <[email protected]>
* caldav/davclient.py (DAVClient.__init__): Fixed an issue with usernames
that contain a '@'.
Thanks to the reporter of issue #2
2010-07-07 Mark Meyer <[email protected]>
* caldav/elements/cdav.py: Add Calendar, representing the calendar
resource type.
* caldav/objects.py (DAVObject.children): Pull in code from
_get_properties to enable PROPFINDs for properties with complex
values.
* caldav/objects.py (DAVObject.properties): Add a warning message.
* caldav/objects.py (Principal.calendars): retrieve only child
collections that have a cdav.Calendar property.
2010-07-06 Mark Meyer <[email protected]>
* caldav/objects.py (DAVObject.save): Use idiomatic
NotImplementedError and add a docstring
* caldav/davclient.py (DAVObject.request): raise error on a http
unauthorized (400) condition.
2010-07-06 Cyril Robert <[email protected]>
* caldav/elements/base.py (BaseElement.__add__): Removed unnecessary
verification.
* caldav/objects.py: Merged all methods from caldav.lib.commands.
* caldav/commands.py: Removed, no longer needed.
2010-07-05 Cyril Robert <[email protected]>
* caldav/lib/commands.py (date_search): Fixed a typo.
* caldav/lib/error.py (AuthorizationError): Added AuthorizationError.
* caldav/davclient.py (DAVClient.request): Added 403 error handling.
* caldav/davclient.py (DAVClient.__init__): Always pass proper Content-Type
and Accept headers to the server. This is required by at least davical.
Thanks to http://bitbucket.org/ofosos (all of the above)
2010-07-02 Cyril Robert <[email protected]>
* caldav/lib/commands.py (get_properties): Merged patch from issue #1.
Thanks to http://bitbucket.org/ofosos
2010-06-29 Cyril Robert <[email protected]>
* caldav/elements/*.py: New files, definition for many dav and caldav
elements to introduce a somewhat major refactoring.
* caldav/davclient.py (DAVClient.propfind): Fixed documentation.
* caldav/lib/commands.py: Major changes throughout the file to make use of
the newly defined classes.
* caldav/objects.py: Many small changes to the documentation an the usage
of the ns method.
2010-06-14 Cyril Robert <[email protected]>
* caldav/davclient.py (DAVClient.put): Added a new "headers" parameter.
* caldav/lib/commands.py (create_event): Added headers for content-type.
* caldav/lib/commands.py: Added basic error management throughout the file.
* caldav/objects.py: Minor improvements.
* caldav/lib/error.py: New file, contains error definitions.
2010-06-09 Cyril Robert <[email protected]>
* caldav/davclient.py (DAVClient.__init__, DAVClient.request): Added
support for an optional http proxy.
* tests/test_caldav.py (TestCalDAV.testProxy): Added a new test for the
new proxy option.
* tests/test_caldav.py (TestCalDAV.testSSL): Added one more test.
* caldav/lib/commands.py (uid_search): Added new method.
* caldav/objects.py (Calendar.event): Added new method to find an event by
its UID.
* tests/test_caldav.py: Added a quick test for the new methods
2010-06-07 Cyril Robert <[email protected]>
* caldav/lib/commands.py (children, date_search): Removed instanciation of
children / events, it should be done in objects.
* caldav/objects.py (Calendar.events, Principal.calendars,
Calendar.date_search): Made changes according to the new commands.children
method. Moved ugly import.