[CalendarServer-changes] [5660] CalendarServer/trunk/twistedcaldav/static.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed May 26 15:51:32 PDT 2010
Revision: 5660
http://trac.macosforge.org/projects/calendarserver/changeset/5660
Author: sagen at apple.com
Date: 2010-05-26 15:51:29 -0700 (Wed, 26 May 2010)
Log Message:
-----------
Add push-related properties to addressbook home file.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/static.py
Modified: CalendarServer/trunk/twistedcaldav/static.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/static.py 2010-05-26 22:40:16 UTC (rev 5659)
+++ CalendarServer/trunk/twistedcaldav/static.py 2010-05-26 22:51:29 UTC (rev 5660)
@@ -955,6 +955,7 @@
return super(CalendarHomeFile, self).liveProperties() + (
(customxml.calendarserver_namespace, "push-transports"),
+ (customxml.calendarserver_namespace, "pushkey"),
(customxml.calendarserver_namespace, "xmpp-uri"),
(customxml.calendarserver_namespace, "xmpp-heartbeat-uri"),
(customxml.calendarserver_namespace, "xmpp-server"),
@@ -1078,7 +1079,6 @@
else:
return succeed(customxml.PubSubPushTransportsProperty())
-
if qname == (customxml.calendarserver_namespace, "pushkey"):
pubSubConfiguration = getPubSubConfiguration(config)
if pubSubConfiguration['enabled']:
@@ -1095,7 +1095,6 @@
return succeed(customxml.PubSubXMPPPushKeyProperty())
-
if qname == (customxml.calendarserver_namespace, "xmpp-uri"):
pubSubConfiguration = getPubSubConfiguration(config)
if pubSubConfiguration['enabled']:
@@ -1521,6 +1520,8 @@
def liveProperties(self):
return super(AddressBookHomeFile, self).liveProperties() + (
+ (customxml.calendarserver_namespace, "push-transports"),
+ (customxml.calendarserver_namespace, "pushkey"),
(customxml.calendarserver_namespace, "xmpp-uri"),
(customxml.calendarserver_namespace, "xmpp-heartbeat-uri"),
(customxml.calendarserver_namespace, "xmpp-server"),
@@ -1596,6 +1597,67 @@
else:
qname = property.qname()
+ if qname == (customxml.calendarserver_namespace, "push-transports"):
+ pubSubConfiguration = getPubSubConfiguration(config)
+ if (pubSubConfiguration['enabled'] and
+ getattr(self, "clientNotifier", None) is not None):
+ id = self.clientNotifier.getID()
+ nodeName = getPubSubPath(id, pubSubConfiguration)
+ children = []
+ if pubSubConfiguration['aps-bundle-id']:
+ children.append(
+ customxml.PubSubTransportProperty(
+ customxml.PubSubSubscriptionProperty(
+ davxml.HRef(
+ pubSubConfiguration['subscription-url']
+ ),
+ ),
+ customxml.PubSubAPSBundleIDProperty(
+ pubSubConfiguration['aps-bundle-id']
+ ),
+ type="APSD",
+ )
+ )
+ if pubSubConfiguration['xmpp-server']:
+ children.append(
+ customxml.PubSubTransportProperty(
+ customxml.PubSubXMPPServerProperty(
+ pubSubConfiguration['xmpp-server']
+ ),
+ customxml.PubSubXMPPURIProperty(
+ getPubSubXMPPURI(id, pubSubConfiguration)
+ ),
+ type="XMPP",
+ )
+ )
+
+ propVal = customxml.PubSubPushTransportsProperty(*children)
+ nodeCacher = getNodeCacher()
+ d = nodeCacher.waitForNode(self.clientNotifier, nodeName)
+ # In either case we're going to return the value
+ d.addBoth(lambda ignored: propVal)
+ return d
+
+
+ else:
+ return succeed(customxml.PubSubPushTransportsProperty())
+
+ if qname == (customxml.calendarserver_namespace, "pushkey"):
+ pubSubConfiguration = getPubSubConfiguration(config)
+ if pubSubConfiguration['enabled']:
+ if getattr(self, "clientNotifier", None) is not None:
+ id = self.clientNotifier.getID()
+ nodeName = getPubSubPath(id, pubSubConfiguration)
+ propVal = customxml.PubSubXMPPPushKeyProperty(nodeName)
+ nodeCacher = getNodeCacher()
+ d = nodeCacher.waitForNode(self.clientNotifier, nodeName)
+ # In either case we're going to return the xmpp-uri value
+ d.addBoth(lambda ignored: propVal)
+ return d
+ else:
+ return succeed(customxml.PubSubXMPPPushKeyProperty())
+
+
if qname == (customxml.calendarserver_namespace, "xmpp-uri"):
pubSubConfiguration = getPubSubConfiguration(config)
if pubSubConfiguration['enabled']:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100526/9dd33996/attachment-0001.html>
More information about the calendarserver-changes
mailing list