[CalendarServer-changes] [13637] CalendarServer/trunk/twistedcaldav/directory
source_changes at macosforge.org
source_changes at macosforge.org
Fri Jun 13 14:13:05 PDT 2014
Revision: 13637
http://trac.calendarserver.org//changeset/13637
Author: sagen at apple.com
Date: 2014-06-13 14:13:05 -0700 (Fri, 13 Jun 2014)
Log Message:
-----------
Removing unused delegate assignment deletion code
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipaldb.py
Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py 2014-06-13 13:36:18 UTC (rev 13636)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py 2014-06-13 21:13:05 UTC (rev 13637)
@@ -28,7 +28,6 @@
]
import itertools
-import time
import uuid
from twext.python.log import Logger
@@ -531,34 +530,7 @@
def deleteMembership(self, guid):
return self.delete("memberships:%s" % (str(guid),))
- def setDeletionTimer(self, guid, delay):
- return self.set("del:%s" % (str(guid),), str(self.getTime() + delay))
- def checkDeletionTimer(self, guid):
- # True means it's overdue, False means it's not, None means no timer
- def _value(value):
- if value:
- if int(value) <= self.getTime():
- return True
- else:
- return False
- else:
- return None
- d = self.get("del:%s" % (str(guid),))
- d.addCallback(_value)
- return d
-
- def clearDeletionTimer(self, guid):
- return self.delete("del:%s" % (str(guid),))
-
- def getTime(self):
- if hasattr(self, 'theTime'):
- theTime = self.theTime
- else:
- theTime = int(time.time())
- return theTime
-
-
def __init__(self, dbID, dbapiName, dbapiArgs, **kwargs):
AbstractADBAPIDatabase.__init__(self, dbID, dbapiName, dbapiArgs, True, **kwargs)
@@ -642,70 +614,6 @@
yield self._memcacher.deleteMember(principalUID)
- @inlineCallbacks
- def removePrincipal(self, principalUID, delay=None):
- """
- Remove a group membership record.
-
- @param principalUID: the UID of the principal to remove.
- """
- # FIXME: This method doesn't appear to be used anywhere. Still needed?
-
- if delay:
- # We are going to remove the principal only after <delay> seconds
- # has passed since we first chose to remove it, to protect against
- # transient directory problems.
- # If <delay> is specified, first see if there was a timer set
- # previously. If the timer is more than delay seconds old, we
- # go ahead and remove the principal. Otherwise, do nothing.
-
- overdue = yield self._memcacher.checkDeletionTimer(principalUID)
-
- if overdue is False:
- # Do nothing
- returnValue(None)
-
- elif overdue is None:
- # No timer was previously set
- self.log.debug("Delaying removal of missing proxy principal '%s'"
- % (principalUID,))
- yield self._memcacher.setDeletionTimer(principalUID, delay=delay)
- returnValue(None)
-
- self.log.warn("Removing missing proxy principal for '%s'"
- % (principalUID,))
-
- for suffix in ("calendar-proxy-read", "calendar-proxy-write",):
- groupUID = "%s#%s" % (principalUID, suffix,)
- yield self._delete_from_db(groupUID)
-
- # Update cache
- members = yield self.getMembers(groupUID)
- if members:
- for member in members:
- yield self._memcacher.deleteMembership(member)
- yield self._memcacher.deleteMember(groupUID)
-
- memberships = (yield self.getMemberships(principalUID))
- for groupUID in memberships:
- yield self._memcacher.deleteMember(groupUID)
-
- yield self._delete_from_db_member(principalUID)
- yield self._memcacher.deleteMembership(principalUID)
- yield self._memcacher.clearDeletionTimer(principalUID)
-
-
- def refreshPrincipal(self, principalUID):
- """
- Bring back to life a principal that was previously deleted.
-
- @param principalUID:
- @type principalUID:
- """
-
- return self._memcacher.clearDeletionTimer(principalUID)
-
-
def getMembers(self, principalUID):
"""
Return the list of group member UIDs for the specified principal.
Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipaldb.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipaldb.py 2014-06-13 13:36:18 UTC (rev 13636)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipaldb.py 2014-06-13 21:13:05 UTC (rev 13637)
@@ -24,6 +24,7 @@
import os
+
class ProxyPrincipalDBSqlite (twistedcaldav.test.util.TestCase):
"""
Directory service provisioned principals.
@@ -333,50 +334,7 @@
yield db.clean()
- @inlineCallbacks
- def test_cachingDBRemovePrincipal(self):
- for processType in ("Single", "Combined",):
- config.ProcessType = processType
-
- # Get the DB
- db_path = os.path.abspath(self.mktemp())
- db = ProxySqliteDB(db_path)
-
- # Do one insert and check the result
- yield db.setGroupMembers("A", ("B", "C", "D",))
- yield db.setGroupMembers("X", ("B", "C",))
-
- membersA = yield db.getMembers("A")
- membersX = yield db.getMembers("X")
- membershipsB = yield db.getMemberships("B")
- membershipsC = yield db.getMemberships("C")
- membershipsD = yield db.getMemberships("D")
-
- self.assertEqual(membersA, set(("B", "C", "D",)))
- self.assertEqual(membersX, set(("B", "C",)))
- self.assertEqual(membershipsB, set(("A", "X",)))
- self.assertEqual(membershipsC, set(("A", "X",)))
- self.assertEqual(membershipsD, set(("A",)))
-
- # Remove and check the result
- yield db.removePrincipal("B")
-
- membersA = yield db.getMembers("A")
- membersX = yield db.getMembers("X")
- membershipsB = yield db.getMemberships("B")
- membershipsC = yield db.getMemberships("C")
- membershipsD = yield db.getMemberships("D")
-
- self.assertEqual(membersA, set(("C", "D",)))
- self.assertEqual(membersX, set(("C",)))
- self.assertEqual(membershipsB, set())
- self.assertEqual(membershipsC, set(("A", "X",)))
- self.assertEqual(membershipsD, set(("A",),))
-
- yield db.clean()
-
-
@inlineCallbacks
def test_cachingDBInsertUncached(self):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140613/26fa2816/attachment.html>
More information about the calendarserver-changes
mailing list