[CalendarServer-changes] [6942] CalendarServer/branches/users/glyph/dalify

source_changes at macosforge.org source_changes at macosforge.org
Wed Feb 16 06:27:46 PST 2011


Revision: 6942
          http://trac.macosforge.org/projects/calendarserver/changeset/6942
Author:   glyph at apple.com
Date:     2011-02-16 06:27:46 -0800 (Wed, 16 Feb 2011)
Log Message:
-----------
global utcNowSQL utility, dalify 'update attachment'

Modified Paths:
--------------
    CalendarServer/branches/users/glyph/dalify/twext/enterprise/dal/syntax.py
    CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/sql.py
    CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/sql.py

Modified: CalendarServer/branches/users/glyph/dalify/twext/enterprise/dal/syntax.py
===================================================================
--- CalendarServer/branches/users/glyph/dalify/twext/enterprise/dal/syntax.py	2011-02-16 14:27:34 UTC (rev 6941)
+++ CalendarServer/branches/users/glyph/dalify/twext/enterprise/dal/syntax.py	2011-02-16 14:27:46 UTC (rev 6942)
@@ -628,6 +628,8 @@
         _fromSameTable(_modelsFromMap(columnMap))
         self.columnMap = columnMap
         self.Where = Where
+        if isinstance(Return, (tuple, list)):
+            Return = _CommaList(Return)
         self.Return = Return
 
 
@@ -770,4 +772,5 @@
         return 'Parameter(%r)' % (self.name,)
 
 
-
+# Common helpers.
+utcNowSQL = Function('timezone')('UTC', NamedValue('CURRENT_TIMESTAMP'))

Modified: CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/sql.py	2011-02-16 14:27:34 UTC (rev 6941)
+++ CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/sql.py	2011-02-16 14:27:46 UTC (rev 6942)
@@ -64,6 +64,7 @@
 from twext.enterprise.dal.syntax import Update
 from twext.enterprise.dal.syntax import Delete
 from twext.enterprise.dal.syntax import Parameter
+from twext.enterprise.dal.syntax import utcNowSQL
 from txdav.common.icommondatastore import IndexedSearchException
 
 from vobject.icalendar import utc
@@ -698,25 +699,23 @@
         self.attachment._contentType = self.contentType
         self.attachment._md5 = self.hash.hexdigest()
         self.attachment._size = len(self.buf)
+        att = schema.ATTACHMENT
         self.attachment._created, self.attachment._modified = map(
             sqltime,
-            (yield self._txn.execSQL(
-                """
-                update ATTACHMENT set CONTENT_TYPE = %s, SIZE = %s, MD5 = %s,
-                 MODIFIED = timezone('UTC', CURRENT_TIMESTAMP)
-                where PATH = %s
-                returning CREATED, MODIFIED
-                """,
-                [
-                    generateContentType(self.contentType),
-                    self.attachment._size,
-                    self.attachment._md5,
-                    self.attachment.name()
-                ]
-            ))[0]
+            (yield Update(
+                {
+                    att.CONTENT_TYPE : generateContentType(self.contentType),
+                    att.SIZE         : self.attachment._size,
+                    att.MD5          : self.attachment._md5,
+                    att.MODIFIED     : utcNowSQL
+                },
+                Where=att.PATH == self.attachment.name(),
+                Return=(att.CREATED, att.MODIFIED)).on(self._txn))[0]
         )
 
-        home = (yield self._txn.calendarHomeWithResourceID(self.attachment._ownerHomeID))
+        home = (
+            yield self._txn.calendarHomeWithResourceID(
+                self.attachment._ownerHomeID))
         if home:
             # Adjust quota
             yield home.adjustQuotaUsedBytes(self.attachment.size() - old_size)

Modified: CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/sql.py	2011-02-16 14:27:34 UTC (rev 6941)
+++ CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/sql.py	2011-02-16 14:27:46 UTC (rev 6942)
@@ -49,8 +49,7 @@
     CommonObjectResource
 from twext.enterprise.dal.syntax import Insert
 from twext.enterprise.dal.syntax import Update
-from twext.enterprise.dal.syntax import NamedValue
-from twext.enterprise.dal.syntax import Function
+from twext.enterprise.dal.syntax import utcNowSQL
 from txdav.common.datastore.sql_tables import ADDRESSBOOK_TABLE,\
     ADDRESSBOOK_BIND_TABLE, ADDRESSBOOK_OBJECT_REVISIONS_TABLE,\
     ADDRESSBOOK_OBJECT_TABLE, ADDRESSBOOK_HOME_TABLE,\
@@ -59,7 +58,6 @@
     ADDRESSBOOK_OBJECT_REVISIONS_AND_BIND_TABLE, schema
 from txdav.base.propertystore.base import PropertyName
 
-dbCurrentTime = Function('timezone')('UTC', NamedValue('CURRENT_TIMESTAMP'))
 
 
 class AddressBookHome(CommonHome):
@@ -246,7 +244,7 @@
                 {ao.VCARD_TEXT: componentText,
                  ao.VCARD_UID: component.resourceUID(),
                  ao.MD5: self._md5,
-                 ao.MODIFIED: dbCurrentTime},
+                 ao.MODIFIED: utcNowSQL},
                 Where=ao.RESOURCE_ID == self._resourceID,
                 Return=ao.MODIFIED).on(self._txn))[0][0]
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110216/cbe701a9/attachment-0001.html>


More information about the calendarserver-changes mailing list