[CalendarServer-changes] [6342] CalendarServer/branches/users/glyph/more-deferreds-6/twistedcaldav/ resource.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Sep 22 21:36:14 PDT 2010
Revision: 6342
http://trac.macosforge.org/projects/calendarserver/changeset/6342
Author: glyph at apple.com
Date: 2010-09-22 21:36:13 -0700 (Wed, 22 Sep 2010)
Log Message:
-----------
honor potentially async commit/abort in renderHTTP
Modified Paths:
--------------
CalendarServer/branches/users/glyph/more-deferreds-6/twistedcaldav/resource.py
Modified: CalendarServer/branches/users/glyph/more-deferreds-6/twistedcaldav/resource.py
===================================================================
--- CalendarServer/branches/users/glyph/more-deferreds-6/twistedcaldav/resource.py 2010-09-23 03:37:27 UTC (rev 6341)
+++ CalendarServer/branches/users/glyph/more-deferreds-6/twistedcaldav/resource.py 2010-09-23 04:36:13 UTC (rev 6342)
@@ -271,6 +271,7 @@
self._transactionError = True
+ @inlineCallbacks
def renderHTTP(self, request, transaction=None):
"""
Override C{renderHTTP} to commit the transaction when the resource is
@@ -281,17 +282,15 @@
@param transaction: optional transaction to use instead of associated transaction
@type transaction: L{txdav.caldav.idav.ITransaction}
"""
- d = maybeDeferred(super(CalDAVResource, self).renderHTTP, request)
- def succeeded(result, transaction=None):
- if transaction is None:
- transaction = self._associatedTransaction
- if transaction is not None:
- if self._transactionError:
- transaction.abort()
- else:
- transaction.commit()
- return result
- return d.addCallback(succeeded, transaction=transaction)
+ result = yield super(CalDAVResource, self).renderHTTP(request)
+ if transaction is None:
+ transaction = self._associatedTransaction
+ if transaction is not None:
+ if self._transactionError:
+ yield transaction.abort()
+ else:
+ yield transaction.commit()
+ returnValue(result)
# Begin transitional new-store resource interface:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100922/6d5bd53f/attachment.html>
More information about the calendarserver-changes
mailing list