[CalendarServer-changes] [7002] CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/ sql.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Feb 16 06:39:24 PST 2011


Revision: 7002
          http://trac.macosforge.org/projects/calendarserver/changeset/7002
Author:   glyph at apple.com
Date:     2011-02-16 06:39:23 -0800 (Wed, 16 Feb 2011)
Log Message:
-----------
dalify CommonObjectResource.text()

Modified Paths:
--------------
    CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py

Modified: CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py	2011-02-16 14:39:11 UTC (rev 7001)
+++ CalendarServer/branches/users/glyph/dalify/txdav/common/datastore/sql.py	2011-02-16 14:39:23 UTC (rev 7002)
@@ -2278,14 +2278,23 @@
         return datetimeMktime(parseSQLTimestamp(self._modified))
 
 
+    @classproperty
+    def _textByIDQuery(cls):
+        """
+        DAL query to load iCalendar/vCard text via an object's resource ID.
+        """
+        obj = cls._objectSchema
+        return Select([obj.TEXT], From=obj,
+                      Where=obj.RESOURCE_ID == Parameter("resourceID"))
+
+
     @inlineCallbacks
     def text(self):
         if self._objectText is None:
-            text = (yield self._txn.execSQL(
-                "select %(column_TEXT)s from %(name)s where "
-                "%(column_RESOURCE_ID)s = %%s" % self._objectTable,
-                [self._resourceID]
-            ))[0][0]
+            text = (
+                yield self._textByIDQuery.on(self._txn,
+                                             resourceID=self._resourceID)
+            )[0][0]
             self._objectText = text
             returnValue(text)
         else:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110216/75a9d020/attachment.html>


More information about the calendarserver-changes mailing list