[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