[CalendarServer-changes] [11099] CalendarServer/branches/users/cdaboo/store-scheduling

source_changes at macosforge.org source_changes at macosforge.org
Thu Apr 25 10:56:21 PDT 2013


Revision: 11099
          http://trac.calendarserver.org//changeset/11099
Author:   cdaboo at apple.com
Date:     2013-04-25 10:56:21 -0700 (Thu, 25 Apr 2013)
Log Message:
-----------
Checkpoint: get rid of twistedcaldav.scheduling!

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tap/caldav.py
    CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/calverify.py
    CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/dkimtool.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/cachingdirectory.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/directory.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/principal.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/xmlfile.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/freebusyurl.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/ical.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/method/put_common.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/stdconfig.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/test/test_upgrade.py
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/upgrade.py

Removed Paths:
-------------
    CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/scheduling/

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tap/caldav.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tap/caldav.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -111,7 +111,7 @@
 from calendarserver.push.notifier import PushDistributor
 from calendarserver.push.amppush import AMPPushMaster, AMPPushForwarder
 from calendarserver.push.applepush import ApplePushNotifierService
-from twistedcaldav.scheduling.imip.inbound import MailRetriever
+from txdav.caldav.datastore.scheduling.imip.inbound import MailRetriever
 
 try:
     from calendarserver.version import version

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/calverify.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/calverify.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/calverify.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -65,7 +65,7 @@
 from twistedcaldav.directory.directory import DirectoryService
 from twistedcaldav.ical import Component, ignoredComponents, \
     InvalidICalendarDataError, Property
-from twistedcaldav.scheduling.itip import iTipGenerator
+from txdav.caldav.datastore.scheduling.itip import iTipGenerator
 from twistedcaldav.stdconfig import DEFAULT_CONFIG_FILE
 from twistedcaldav.util import normalizationLookup
 

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/dkimtool.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/dkimtool.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/calendarserver/tools/dkimtool.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -27,7 +27,7 @@
 from twisted.internet.defer import inlineCallbacks
 from twisted.python.usage import Options
 
-from twistedcaldav.scheduling.ischedule.dkim import RSA256, DKIMRequest, \
+from txdav.caldav.datastore.scheduling.ischedule.dkim import RSA256, DKIMRequest, \
     PublicKeyLookup, DKIMVerifier, DKIMVerificationError
 
 import sys
@@ -66,7 +66,7 @@
 def _doRequest(options):
 
     if options["verbose"]:
-        setLogLevelForNamespace("twistedcaldav.scheduling.ischedule.dkim", "debug")
+        setLogLevelForNamespace("txdav.caldav.datastore.scheduling.ischedule.dkim", "debug")
 
     # Parse the HTTP file
     request = open(options["request"]).read()
@@ -299,7 +299,7 @@
     observer.start()
 
     if options["verbose"]:
-        setLogLevelForNamespace("twistedcaldav.scheduling.ischedule.dkim", "debug")
+        setLogLevelForNamespace("txdav.caldav.datastore.scheduling.ischedule.dkim", "debug")
 
     if options["key-gen"]:
         _doKeyGeneration(options)

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/cachingdirectory.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/cachingdirectory.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/cachingdirectory.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -35,7 +35,7 @@
 
 from twistedcaldav.config import config
 from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord, DirectoryError, UnknownRecordTypeError
-from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
+from txdav.caldav.datastore.scheduling.cuaddress import normalizeCUAddr
 from twistedcaldav.directory.util import normalizeUUID
 
 
@@ -43,30 +43,35 @@
     """
     Abstract class for a record type cache. We will likely have dict and memcache implementations of this.
     """
-    
+
     def __init__(self, directoryService, recordType):
-        
+
         self.directoryService = directoryService
         self.recordType = recordType
 
+
     def addRecord(self, record, indexType, indexKey, useMemcache=True,
         neverExpire=False):
         raise NotImplementedError()
-    
+
+
     def removeRecord(self, record):
         raise NotImplementedError()
-        
+
+
     def findRecord(self, indexType, indexKey):
         raise NotImplementedError()
-        
+
+
+
 class DictRecordTypeCache(RecordTypeCache, LoggingMixIn):
     """
     Cache implementation using a dict, and uses memcached to share records
     with other instances.
     """
-    
+
     def __init__(self, directoryService, recordType):
-        
+
         super(DictRecordTypeCache, self).__init__(directoryService, recordType)
         self.records = set()
         self.recordsIndexedBy = {
@@ -78,6 +83,7 @@
         self.directoryService = directoryService
         self.lastPurgedTime = time.time()
 
+
     def addRecord(self, record, indexType, indexKey, useMemcache=True,
         neverExpire=False):
 
@@ -122,7 +128,8 @@
                         del self.recordsIndexedBy[indexType][item]
                     except KeyError:
                         pass
-        
+
+
     def findRecord(self, indexType, indexKey):
         self.purgeExpiredRecords()
         return self.recordsIndexedBy[indexType].get(indexKey)
@@ -139,18 +146,19 @@
                     self.removeRecord(record)
             self.lastPurgedTime = time.time()
 
-            
+
+
 class CachingDirectoryService(DirectoryService):
     """
     Caching Directory implementation of L{IDirectoryService}.
-    
+
     This is class must be overridden to provide a concrete implementation.
     """
 
-    INDEX_TYPE_GUID      = "guid"
+    INDEX_TYPE_GUID = "guid"
     INDEX_TYPE_SHORTNAME = "shortname"
-    INDEX_TYPE_CUA       = "cua"
-    INDEX_TYPE_AUTHID    = "authid"
+    INDEX_TYPE_CUA = "cua"
+    INDEX_TYPE_AUTHID = "authid"
 
     indexTypeToRecordAttribute = {
         "guid"     : "guid",
@@ -168,7 +176,7 @@
         """
         @param cacheTimeout: C{int} number of minutes before cache is invalidated.
         """
-        
+
         self.cacheTimeout = cacheTimeout * 60
         self.negativeCaching = negativeCaching
 
@@ -177,6 +185,7 @@
 
         super(CachingDirectoryService, self).__init__()
 
+
     def _getMemcacheClient(self, refresh=False):
         if refresh or not hasattr(self, "memcacheClient"):
             self.memcacheClient = ClientFactory.getClient(['%s:%s' %
@@ -184,6 +193,7 @@
                 debug=0, pickleProtocol=2)
         return self.memcacheClient
 
+
     def memcacheSet(self, key, record):
 
         hideService = isinstance(record, DirectoryRecord)
@@ -206,6 +216,7 @@
             if hideService:
                 record.service = self
 
+
     def memcacheGet(self, key):
 
         key = base64.b64encode(key)
@@ -225,6 +236,7 @@
                 raise DirectoryMemcacheError("Failed to read from memcache")
         return record
 
+
     def generateMemcacheKey(self, indexType, indexKey, recordType):
         """
         Return a key that can be used to store/retrieve a record in memcache.
@@ -242,22 +254,24 @@
         """
         keyVersion = 2
         if indexType == CachingDirectoryService.INDEX_TYPE_SHORTNAME:
-            return "dir|v%d|%s|%s|%s|%s" % (keyVersion,self.baseGUID, recordType,
+            return "dir|v%d|%s|%s|%s|%s" % (keyVersion, self.baseGUID, recordType,
                 indexType, indexKey)
         else:
             return "dir|v%d|%s|%s|%s" % (keyVersion, self.baseGUID, indexType,
                 indexKey)
 
+
     def _initCaches(self):
         self._recordCaches = dict([
             (recordType, self.cacheClass(self, recordType))
             for recordType in self.recordTypes()
         ])
-            
+
         self._disabledKeys = dict([(indexType, dict()) for indexType in self.indexTypes()])
 
+
     def indexTypes(self):
-        
+
         return (
             CachingDirectoryService.INDEX_TYPE_GUID,
             CachingDirectoryService.INDEX_TYPE_SHORTNAME,
@@ -265,18 +279,22 @@
             CachingDirectoryService.INDEX_TYPE_AUTHID,
         )
 
+
     def recordCacheForType(self, recordType):
         try:
             return self._recordCaches[recordType]
         except KeyError:
             raise UnknownRecordTypeError(recordType)
 
+
     def listRecords(self, recordType):
         return self.recordCacheForType(recordType).records
 
+
     def recordWithShortName(self, recordType, shortName):
         return self._lookupRecord((recordType,), CachingDirectoryService.INDEX_TYPE_SHORTNAME, shortName)
 
+
     def recordWithCalendarUserAddress(self, address):
         address = normalizeCUAddr(address)
         record = None
@@ -288,9 +306,11 @@
 
         return record if record and record.enabledForCalendaring else None
 
+
     def recordWithAuthID(self, authID):
         return self._lookupRecord(None, CachingDirectoryService.INDEX_TYPE_AUTHID, authID)
 
+
     def recordWithGUID(self, guid):
         guid = normalizeUUID(guid)
         return self._lookupRecord(None, CachingDirectoryService.INDEX_TYPE_GUID, guid)
@@ -374,7 +394,7 @@
         # Try query
         self.log_debug("Faulting record for attribute '%s' with value '%s'" % (indexType, indexKey,))
         self.queryDirectory(recordTypes, indexType, indexKey)
-        
+
         # Now try again from cache
         record = lookup()
         if record:
@@ -395,12 +415,14 @@
                     self.log_error("Memcache: failed to set -%s" % (key,))
                     pass
 
-
         return None
 
+
     def queryDirectory(self, recordTypes, indexType, indexKey):
         raise NotImplementedError()
 
+
+
 class CachingDirectoryRecord(DirectoryRecord):
 
     def __init__(
@@ -413,21 +435,23 @@
             service,
             recordType,
             guid,
-            shortNames            = shortNames,
-            authIDs               = authIDs,
-            fullName              = fullName,
-            firstName             = firstName,
-            lastName              = lastName,
-            emailAddresses        = emailAddresses,
-            uid                   = uid,
+            shortNames=shortNames,
+            authIDs=authIDs,
+            fullName=fullName,
+            firstName=firstName,
+            lastName=lastName,
+            emailAddresses=emailAddresses,
+            uid=uid,
             **kwargs
         )
-        
+
         self.cachedTime = time.time()
 
+
     def neverExpire(self):
         self.cachedTime = 0
 
+
     def isExpired(self):
         """
         Returns True if this record was created more than cacheTimeout
@@ -442,8 +466,8 @@
             return False
 
 
+
 class DirectoryMemcacheError(DirectoryError):
     """
     Error communicating with memcached.
     """
-

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/directory.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/directory.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/directory.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -47,8 +47,8 @@
 from twistedcaldav.directory.idirectory import IDirectoryService, IDirectoryRecord
 from twistedcaldav.directory.util import uuidFromName, normalizeUUID
 from twistedcaldav.memcacher import Memcacher
-from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
-from twistedcaldav.scheduling.ischedule.localservers import Servers
+from txdav.caldav.datastore.scheduling.cuaddress import normalizeCUAddr
+from txdav.caldav.datastore.scheduling.ischedule.localservers import Servers
 
 from txdav.caldav.icalendardirectoryservice import ICalendarStoreDirectoryService, \
     ICalendarStoreDirectoryRecord

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/principal.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/principal.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -68,7 +68,7 @@
 from twistedcaldav.extensions import ReadOnlyResourceMixIn, DAVPrincipalResource, \
     DAVResourceWithChildrenMixin
 from twistedcaldav.resource import CalendarPrincipalCollectionResource, CalendarPrincipalResource
-from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
+from txdav.caldav.datastore.scheduling.cuaddress import normalizeCUAddr
 
 thisModule = getModule(__name__)
 log = Logger()

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/xmlfile.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/xmlfile.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/directory/xmlfile.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -23,8 +23,10 @@
 ]
 
 from time import time
+import grp
+import os
+import pwd
 import types
-import os, pwd, grp
 
 from twisted.cred.credentials import UsernamePassword
 from twext.web2.auth.digest import DigestedCredentials
@@ -36,7 +38,7 @@
 from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord, DirectoryError
 from twistedcaldav.directory.xmlaccountsparser import XMLAccountsParser, XMLAccountRecord
 from twistedcaldav.directory.util import normalizeUUID
-from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
+from txdav.caldav.datastore.scheduling.cuaddress import normalizeCUAddr
 from twistedcaldav.xmlutil import addSubElement, createElement, elementToXML
 from uuid import uuid4
 
@@ -49,15 +51,16 @@
 
     realmName = None
 
-    INDEX_TYPE_GUID      = "guid"
+    INDEX_TYPE_GUID = "guid"
     INDEX_TYPE_SHORTNAME = "shortname"
-    INDEX_TYPE_CUA       = "cua"
-    INDEX_TYPE_AUTHID    = "authid"
+    INDEX_TYPE_CUA = "cua"
+    INDEX_TYPE_AUTHID = "authid"
 
 
     def __repr__(self):
         return "<%s %r: %r>" % (self.__class__.__name__, self.realmName, self.xmlFile)
 
+
     def __init__(self, params, alwaysStat=False):
 
         defaults = {
@@ -113,7 +116,6 @@
         if uid != -1 and gid != -1:
             os.chown(xmlFile.path, uid, gid)
 
-
         self.xmlFile = xmlFile
         self._fileInfo = None
         self._lastCheck = 0
@@ -122,6 +124,7 @@
         self._initIndexes()
         self._accounts()
 
+
     def _initIndexes(self):
         """
         Create empty indexes
@@ -138,6 +141,7 @@
                 self.INDEX_TYPE_AUTHID   : {},
             }
 
+
     def _accounts(self):
         """
         Parses XML file, creates XMLDirectoryRecords and indexes them, and
@@ -169,20 +173,21 @@
                         if xmlAccountRecord.recordType not in self.recordTypes():
                             continue
                         record = XMLDirectoryRecord(
-                            service       = self,
-                            recordType    = xmlAccountRecord.recordType,
-                            shortNames    = tuple(xmlAccountRecord.shortNames),
-                            xmlPrincipal  = xmlAccountRecord,
+                            service=self,
+                            recordType=xmlAccountRecord.recordType,
+                            shortNames=tuple(xmlAccountRecord.shortNames),
+                            xmlPrincipal=xmlAccountRecord,
                         )
                         if self.augmentService is not None:
                             d = self.augmentService.getAugmentRecord(record.guid,
                                 record.recordType)
-                            d.addCallback(lambda x:record.addAugmentInformation(x))
+                            d.addCallback(lambda x: record.addAugmentInformation(x))
 
                         self._addToIndex(record)
 
         return self._parsedAccounts
 
+
     def _addToIndex(self, record):
         """
         Index the record by GUID, shortName(s), authID(s) and CUA(s)
@@ -198,6 +203,7 @@
             self.recordIndexes[record.recordType][self.INDEX_TYPE_CUA][cua] = record
         self.records[record.recordType].add(record)
 
+
     def _removeFromIndex(self, record):
         """
         Removes a record from all indexes.  Note this is only used for unit
@@ -210,7 +216,7 @@
             del self.recordIndexes[record.recordType][self.INDEX_TYPE_AUTHID][authID]
         for cua in record.calendarUserAddresses:
             cua = normalizeCUAddr(cua)
-            del self.recordIndexes[record.recordType][self.INDEX_TYPE_CUA][cua] 
+            del self.recordIndexes[record.recordType][self.INDEX_TYPE_CUA][cua]
         if record in self.records[record.recordType]:
             self.records[record.recordType].remove(record)
 
@@ -223,6 +229,7 @@
         self._accounts()
         return self.recordIndexes.get(recordType, {}).get(indexType, {}).get(key, None)
 
+
     def _initCaches(self):
         """
         Invalidates the indexes
@@ -230,6 +237,7 @@
         self._lastCheck = 0
         self._initIndexes()
 
+
     def _forceReload(self):
         """
         Invalidates the indexes, re-reads the XML file and re-indexes
@@ -247,9 +255,11 @@
                 return record
         return None
 
+
     def recordWithShortName(self, recordType, shortName):
         return self._lookupInIndex(recordType, self.INDEX_TYPE_SHORTNAME, shortName)
 
+
     def recordWithAuthID(self, authID):
         for recordType in self.recordTypes():
             record = self._lookupInIndex(recordType, self.INDEX_TYPE_AUTHID, authID)
@@ -257,6 +267,7 @@
                 return record
         return None
 
+
     def recordWithGUID(self, guid):
         guid = normalizeUUID(guid)
         for recordType in self.recordTypes():
@@ -272,10 +283,10 @@
         No-op to pacify addressbook backing.
         """
 
-
     def recordTypes(self):
         return self._recordTypes
 
+
     def listRecords(self, recordType):
         self._accounts()
         return self.records[recordType]
@@ -388,14 +399,14 @@
     def _persistRecords(self, element):
 
         def indent(elem, level=0):
-            i = "\n" + level*"  "
+            i = "\n" + level * "  "
             if len(elem):
                 if not elem.text or not elem.text.strip():
                     elem.text = i + "  "
                 if not elem.tail or not elem.tail.strip():
                     elem.tail = i
                 for elem in elem:
-                    indent(elem, level+1)
+                    indent(elem, level + 1)
                 if not elem.tail or not elem.tail.strip():
                     elem.tail = i
             else:
@@ -531,6 +542,7 @@
         self._forceReload()
         return self.recordWithGUID(guid)
 
+
     def createRecords(self, data):
         """
         Create records in bulk
@@ -539,8 +551,8 @@
         # Make sure latest XML records are read in
         accounts = self._forceReload()
 
-        knownGUIDs = { }
-        knownShortNames = { }
+        knownGUIDs = {}
+        knownShortNames = {}
 
         accountsElement = createElement("accounts", realm=self.realmName)
         for recType in self.recordTypes():
@@ -577,27 +589,29 @@
         self._forceReload()
 
 
+
 class XMLDirectoryRecord(DirectoryRecord):
     """
     XML based implementation implementation of L{IDirectoryRecord}.
     """
     def __init__(self, service, recordType, shortNames, xmlPrincipal):
         super(XMLDirectoryRecord, self).__init__(
-            service               = service,
-            recordType            = recordType,
-            guid                  = xmlPrincipal.guid,
-            shortNames            = shortNames,
-            fullName              = xmlPrincipal.fullName,
-            firstName             = xmlPrincipal.firstName,
-            lastName              = xmlPrincipal.lastName,
-            emailAddresses        = xmlPrincipal.emailAddresses,
+            service=service,
+            recordType=recordType,
+            guid=xmlPrincipal.guid,
+            shortNames=shortNames,
+            fullName=xmlPrincipal.fullName,
+            firstName=xmlPrincipal.firstName,
+            lastName=xmlPrincipal.lastName,
+            emailAddresses=xmlPrincipal.emailAddresses,
             **xmlPrincipal.extras
         )
 
-        self.password          = xmlPrincipal.password
-        self._members          = xmlPrincipal.members
-        self._groups           = xmlPrincipal.groups
+        self.password = xmlPrincipal.password
+        self._members = xmlPrincipal.members
+        self._groups = xmlPrincipal.groups
 
+
     def members(self):
         for recordType, shortName in self._members:
             yield self.service.recordWithShortName(recordType, shortName)
@@ -607,6 +621,7 @@
         for shortName in self._groups:
             yield self.service.recordWithShortName(DirectoryService.recordType_groups, shortName)
 
+
     def memberGUIDs(self):
         results = set()
         for recordType, shortName in self._members:
@@ -614,6 +629,7 @@
             results.add(record.guid)
         return results
 
+
     def verifyCredentials(self, credentials):
         if self.enabled:
             if isinstance(credentials, UsernamePassword):

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/freebusyurl.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/freebusyurl.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/freebusyurl.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -41,11 +41,12 @@
 from twistedcaldav.customxml import calendarserver_namespace
 from twistedcaldav.ical import Property
 from twistedcaldav.resource import CalDAVResource, ReadOnlyNoCopyResourceMixIn
-from twistedcaldav.scheduling.caldav.delivery import ScheduleViaCalDAV
-from twistedcaldav.scheduling.caldav.resource import deliverSchedulePrivilegeSet
-from twistedcaldav.scheduling.cuaddress import LocalCalendarUser
-from twistedcaldav.scheduling.scheduler import Scheduler
+from twistedcaldav.scheduling_store.caldav.resource import deliverSchedulePrivilegeSet
 
+from txdav.caldav.datastore.scheduling.caldav.delivery import ScheduleViaCalDAV
+from txdav.caldav.datastore.scheduling.cuaddress import LocalCalendarUser
+from txdav.caldav.datastore.scheduling.scheduler import Scheduler
+
 from pycalendar.datetime import PyCalendarDateTime
 from pycalendar.duration import PyCalendarDuration
 

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/ical.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/ical.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/ical.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -42,7 +42,7 @@
 from twistedcaldav.dateops import timeRangesOverlap, normalizeForIndex, differenceDateTime, \
     normalizeForExpand
 from twistedcaldav.instance import InstanceList
-from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
+from txdav.caldav.datastore.scheduling.cuaddress import normalizeCUAddr
 from twistedcaldav.timezones import hasTZ, TimezoneException
 
 from pycalendar import definitions

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/method/put_common.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/method/put_common.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/method/put_common.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -45,7 +45,7 @@
 from twistedcaldav.instance import TooManyInstancesError, \
     InvalidOverriddenInstanceError
 from twistedcaldav.memcachelock import MemcacheLock, MemcacheLockTimeoutError
-from twistedcaldav.scheduling.implicit import ImplicitScheduler
+from txdav.caldav.datastore.scheduling.implicit import ImplicitScheduler
 
 from txdav.caldav.icalendarstore import AttachmentStoreValidManagedID
 from txdav.common.icommondatastore import ReservationError

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/stdconfig.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/stdconfig.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/stdconfig.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -1443,7 +1443,7 @@
 
 
 def _updateServers(configDict, reloading=False):
-    from twistedcaldav.scheduling.ischedule.localservers import Servers
+    from txdav.caldav.datastore.scheduling.ischedule.localservers import Servers
     if configDict.Servers.Enabled:
         Servers.load()
         Servers.getThisServer().installReverseProxies(

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/test/test_upgrade.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/test/test_upgrade.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/test/test_upgrade.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -28,7 +28,7 @@
 from twistedcaldav.config import config
 from twistedcaldav.directory.xmlfile import XMLDirectoryService
 from twistedcaldav.directory.resourceinfo import ResourceInfoDatabase
-from twistedcaldav.scheduling.imip.mailgateway import MailGatewayTokensDatabase
+from txdav.caldav.datastore.scheduling.imip.mailgateway import MailGatewayTokensDatabase
 from twistedcaldav.upgrade import (
     xattrname, upgradeData, updateFreeBusySet,
     removeIllegalCharacters, normalizeCUAddrs

Modified: CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/upgrade.py	2013-04-25 16:57:58 UTC (rev 11098)
+++ CalendarServer/branches/users/cdaboo/store-scheduling/twistedcaldav/upgrade.py	2013-04-25 17:56:21 UTC (rev 11099)
@@ -46,9 +46,9 @@
 from twistedcaldav.directory.resourceinfo import ResourceInfoDatabase
 from twistedcaldav.directory.xmlfile import XMLDirectoryService
 from twistedcaldav.ical import Component
-from twistedcaldav.scheduling.cuaddress import LocalCalendarUser
-from twistedcaldav.scheduling.imip.mailgateway import MailGatewayTokensDatabase
-from twistedcaldav.scheduling.scheduler import DirectScheduler
+from txdav.caldav.datastore.scheduling.cuaddress import LocalCalendarUser
+from txdav.caldav.datastore.scheduling.imip.mailgateway import MailGatewayTokensDatabase
+from txdav.caldav.datastore.scheduling.scheduler import DirectScheduler
 from twistedcaldav.util import normalizationLookup
 
 from twisted.application.service import Service
@@ -68,8 +68,8 @@
 from calendarserver.tools.util import getDirectory
 
 from twext.python.parallel import Parallelizer
-from twistedcaldav.scheduling.imip.mailgateway import migrateTokensToStore
-from twistedcaldav.scheduling.imip.inbound import scheduleNextMailPoll
+from txdav.caldav.datastore.scheduling.imip.mailgateway import migrateTokensToStore
+from txdav.caldav.datastore.scheduling.imip.inbound import scheduleNextMailPoll
 
 
 deadPropertyXattrPrefix = namedAny(
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130425/c3dd0ea2/attachment-0001.html>


More information about the calendarserver-changes mailing list