[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