[CalendarServer-changes] [3145] CalendarServer/trunk/twistedcaldav/notify.py
source_changes at macosforge.org
source_changes at macosforge.org
Mon Oct 13 12:01:58 PDT 2008
Revision: 3145
http://trac.macosforge.org/projects/calendarserver/changeset/3145
Author: sagen at apple.com
Date: 2008-10-13 12:01:58 -0700 (Mon, 13 Oct 2008)
Log Message:
-----------
Only configure nodes if they don't match what we want.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/notify.py
Modified: CalendarServer/trunk/twistedcaldav/notify.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/notify.py 2008-10-13 14:17:42 UTC (rev 3144)
+++ CalendarServer/trunk/twistedcaldav/notify.py 2008-10-13 19:01:58 UTC (rev 3145)
@@ -765,6 +765,7 @@
defaultUri='jabber:x:data')
filledForm['type'] = 'submit'
+ configMatches = True
for field in formElement.elements():
if field.name == 'field':
var = field['var']
@@ -772,16 +773,33 @@
filledForm.addChild(field)
else:
value = self.nodeConf.get(var, None)
- if value is not None:
+ if (value is not None and
+ (str(self._getChild(field,
+ "value")) != value)):
+ # this field needs configuring
+ configMatches = False
filledField = filledForm.addElement('field')
filledField['var'] = var
filledField['type'] = field['type']
valueElement = filledField.addElement('value')
valueElement.addContent(value)
# filledForm.addChild(field)
- self.sendDebug("Sending configuration form (%s)"
- % (nodeName,), filledIq)
- d = filledIq.send(to=self.settings['ServiceAddress'])
+ if configMatches:
+ cancelIq = IQ(self.xmlStream, type='set')
+ cancelPubSub = cancelIq.addElement('pubsub',
+ defaultUri=self.pubsubNS+"#owner")
+ cancelConfig = cancelPubSub.addElement('configure')
+ cancelConfig['node'] = nodeName
+ cancelX = cancelConfig.addElement('x',
+ defaultUri='jabber:x:data')
+ cancelX['type'] = 'cancel'
+ self.sendDebug("Cancelling configuration (%s)"
+ % (nodeName,), cancelIq)
+ d = cancelIq.send(to=self.settings['ServiceAddress'])
+ else:
+ self.sendDebug("Sending configuration form (%s)"
+ % (nodeName,), filledIq)
+ d = filledIq.send(to=self.settings['ServiceAddress'])
d.addCallback(self.configurationSuccess, nodeName,
publish)
d.addErrback(self.configurationFailure, nodeName)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081013/ecea046f/attachment-0001.html
More information about the calendarserver-changes
mailing list