[CalendarServer-changes] [4396] CalendarServer/branches/users/sagen/pending-invites-4389/ twistedcaldav/upgrade.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Jun 30 09:56:46 PDT 2009


Revision: 4396
          http://trac.macosforge.org/projects/calendarserver/changeset/4396
Author:   sagen at apple.com
Date:     2009-06-30 09:56:46 -0700 (Tue, 30 Jun 2009)
Log Message:
-----------
A bit more work on FakeRequest

Modified Paths:
--------------
    CalendarServer/branches/users/sagen/pending-invites-4389/twistedcaldav/upgrade.py

Modified: CalendarServer/branches/users/sagen/pending-invites-4389/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/branches/users/sagen/pending-invites-4389/twistedcaldav/upgrade.py	2009-06-30 16:34:33 UTC (rev 4395)
+++ CalendarServer/branches/users/sagen/pending-invites-4389/twistedcaldav/upgrade.py	2009-06-30 16:56:46 UTC (rev 4396)
@@ -18,7 +18,7 @@
 
 from twisted.web2.dav.fileop import rmdir
 from twisted.web2.dav import davxml
-from twisted.internet.defer import inlineCallbacks, returnValue
+from twisted.internet.defer import inlineCallbacks, returnValue, succeed
 from twistedcaldav.directory.directory import DirectoryService
 from twistedcaldav.directory.calendaruserproxy import CalendarUserProxyDatabase
 from twistedcaldav.directory.resourceinfo import ResourceInfoDatabase
@@ -28,6 +28,7 @@
 from twistedcaldav import caldavxml
 from twistedcaldav.scheduling.cuaddress import LocalCalendarUser
 from twistedcaldav.scheduling.scheduler import DirectScheduler
+from twistedcaldav.static import CalDAVFile
 from calendarserver.tools.util import getDirectory
 import xattr, os, zlib, hashlib, datetime, pwd, grp
 from zlib import compress
@@ -201,12 +202,21 @@
 
         return errorOccurred
 
-    class fakeRequest(object):
-        pass
+    class FakeRequest(object):
 
-    class fakeResource(object):
-        pass
+        def __init__(self, root):
+            self.root = root
 
+        def locateResource(self, url):
+            url = url.strip("/")
+            return succeed(CalDAVFile(os.path.join(self.root, url)))
+
+        def _rememberResource(self, resource, url):
+            pass
+
+        def urlForResource(self, resource):
+            return resource.url()
+
     @inlineCallbacks
     def processInbox(inboxPath, uuid, directory):
 
@@ -214,7 +224,8 @@
 
             cua = "urn:uuid:%s" % (uuid,)
             ownerPrincipal = directory.principalForCalendarUserAddress(cua)
-            owner = LocalCalendarUser(cua, ownerPrincipal)
+            owner = LocalCalendarUser(cua, ownerPrincipal,
+                CalDAVFile(inboxPath), ownerPrincipal.scheduleInboxURL())
 
             icsPath = os.path.join(inboxPath, ics)
             log.debug("Processing inbox item: %s" % (icsPath,))
@@ -235,7 +246,9 @@
                     originator = calendar.getOrganizer()
 
             recipients = (owner,)
-            scheduler = DirectScheduler(fakeRequest(), fakeResource())
+            resource = CalDAVFile(icsPath)
+            scheduler = DirectScheduler(FakeRequest(config.DocumentRoot),
+                resource)
             result = (yield scheduler.doSchedulingViaPUT(originator, recipients,
                 calendar, internal_request=False))
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090630/82d67b39/attachment.html>


More information about the calendarserver-changes mailing list