Update to 0.2.1, latest release on pypi. From ChangeLog: * 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 * caldav/lib/url.py (make): function for backward compatibility * tests/: more test code, including backward compatibility test * caldav/lib/namespace.py: fixing issue * 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. * 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. * 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. * 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.diff -r1.4 -r1.5 pkgsrc/net/py-caldav/Makefile
(rodent)
@@ -1,18 +1,17 @@ | @@ -1,18 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.4 2014/02/02 08:36:48 wiz Exp $ | 1 | # $NetBSD: Makefile,v 1.5 2014/04/07 03:40:20 rodent Exp $ | |
2 | 2 | |||
3 | DISTNAME= caldav-0.1.12 | 3 | DISTNAME= caldav-0.2.1 | |
4 | PKGNAME= ${PYPKGPREFIX}-${DISTNAME} | 4 | PKGNAME= ${PYPKGPREFIX}-${DISTNAME} | |
5 | PKGREVISION= 1 | |||
6 | CATEGORIES= net | 5 | CATEGORIES= net | |
7 | MASTER_SITES= https://pypi.python.org/packages/source/c/caldav/ | 6 | MASTER_SITES= https://pypi.python.org/packages/source/c/caldav/ | |
8 | 7 | |||
9 | MAINTAINER= rodent@NetBSD.org | 8 | MAINTAINER= rodent@NetBSD.org | |
10 | HOMEPAGE= http://bitbucket.org/cyrilrbt/caldav | 9 | HOMEPAGE= http://bitbucket.org/cyrilrbt/caldav | |
11 | COMMENT= CalDAV (RFC4791) client library for Python | 10 | COMMENT= CalDAV (RFC4791) client library for Python | |
12 | LICENSE= apache-2.0 AND gnu-gpl-v3 | 11 | LICENSE= apache-2.0 AND gnu-gpl-v3 | |
13 | 12 | |||
14 | DEPENDS+= ${PYPKGPREFIX}-coverage-[0-9]*:../../devel/py-coverage | 13 | DEPENDS+= ${PYPKGPREFIX}-coverage-[0-9]*:../../devel/py-coverage | |
15 | DEPENDS+= ${PYPKGPREFIX}-nose-[0-9]*:../../devel/py-nose | 14 | DEPENDS+= ${PYPKGPREFIX}-nose-[0-9]*:../../devel/py-nose | |
16 | DEPENDS+= ${PYPKGPREFIX}-lxml-[0-9]*:../../textproc/py-lxml | 15 | DEPENDS+= ${PYPKGPREFIX}-lxml-[0-9]*:../../textproc/py-lxml | |
17 | DEPENDS+= ${PYPKGPREFIX}-vobject-[0-9]*:../../textproc/py-vobject | 16 | DEPENDS+= ${PYPKGPREFIX}-vobject-[0-9]*:../../textproc/py-vobject | |
18 | 17 |
@@ -1,5 +1,5 @@ | @@ -1,5 +1,5 @@ | |||
1 | $NetBSD: distinfo,v 1.1 2014/02/02 00:49:17 rodent Exp $ | 1 | $NetBSD: distinfo,v 1.2 2014/04/07 03:40:20 rodent Exp $ | |
2 | 2 | |||
3 | SHA1 (caldav-0.1.12.tar.gz) = ce068ec1052b39951ab13bc934685800de0bae73 | 3 | SHA1 (caldav-0.2.1.tar.gz) = c857e9f5cdf89e7632c87ccfed430ee7fd6c1de0 | |
4 | RMD160 (caldav-0.1.12.tar.gz) = dc30155b43c303a2c5eff936a6430713db4e0b91 | 4 | RMD160 (caldav-0.2.1.tar.gz) = e3a7d24d75b3e5d261f63452abbe3d9f3f6515fe | |
5 | Size (caldav-0.1.12.tar.gz) = 28751 bytes | 5 | Size (caldav-0.2.1.tar.gz) = 35698 bytes |