[CalendarServer-changes] [2363]
CalendarServer/branches/propfind-cache/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Fri May 2 10:32:01 PDT 2008
Revision: 2363
http://trac.macosforge.org/projects/calendarserver/changeset/2363
Author: dreid at apple.com
Date: 2008-05-02 10:32:00 -0700 (Fri, 02 May 2008)
Log Message:
-----------
Drastically simplify the CacheChangeNotifier implementation, need to change to the usages of it.
Modified Paths:
--------------
CalendarServer/branches/propfind-cache/twistedcaldav/cache.py
CalendarServer/branches/propfind-cache/twistedcaldav/test/test_cache.py
Modified: CalendarServer/branches/propfind-cache/twistedcaldav/cache.py
===================================================================
--- CalendarServer/branches/propfind-cache/twistedcaldav/cache.py 2008-05-02 17:27:10 UTC (rev 2362)
+++ CalendarServer/branches/propfind-cache/twistedcaldav/cache.py 2008-05-02 17:32:00 UTC (rev 2363)
@@ -33,57 +33,24 @@
name = "cacheTokens"
-class CacheChangeLoaderMixin(object):
- _propToken = None
- _dataToken = None
- def _loadTokens(self):
- try:
- tokens = self._propertyStore.get(CacheTokensProperty.qname())
- self._propToken, self._dataToken = (
- tokens.children[0].data.split(':'))
-
- except HTTPError, e:
- pass
-
-
-
-class CacheChangeNotifier(CacheChangeLoaderMixin):
+class CacheChangeNotifier(object):
def __init__(self, propertyStore):
self._propertyStore = propertyStore
+ self._token = None
- def _newDataToken(self):
+ def _newCacheToken(self):
return uuid.uuid4()
- _newPropertyToken = _newDataToken
-
- def _writeTokens(self):
- if self._propToken is None:
- self._propToken = self._newPropertyToken()
-
- if self._dataToken is None:
- self._dataToken = self._newDataToken()
-
- property = CacheTokensProperty.fromString('%s:%s' % (self._propToken,
- self._dataToken))
+ def changed(self):
+ property = CacheTokensProperty.fromString(self._newCacheToken())
self._propertyStore.set(property)
- def propertiesChanged(self):
- self._loadTokens()
- self._propToken = self._newPropertyToken()
- self._writeTokens()
- def dataChanged(self):
- self._loadTokens()
- self._dataToken = self._newDataToken()
- self._writeTokens()
-
-
-
class ResponseCache(object):
"""
An object that caches responses to given requests.
Modified: CalendarServer/branches/propfind-cache/twistedcaldav/test/test_cache.py
===================================================================
--- CalendarServer/branches/propfind-cache/twistedcaldav/test/test_cache.py 2008-05-02 17:27:10 UTC (rev 2362)
+++ CalendarServer/branches/propfind-cache/twistedcaldav/test/test_cache.py 2008-05-02 17:32:00 UTC (rev 2363)
@@ -27,18 +27,15 @@
from twistedcaldav.test.util import InMemoryPropertyStore
-def _newCacheTokens(prefix):
- def _(self):
- called = getattr(self, '_%scalled' % (prefix,), 0)
+def _newCacheToken(self):
+ called = getattr(self, '_called', 0)
- token = '%sToken%d' % (prefix, called)
- setattr(self, '_%scalled' % (prefix,), called + 1)
- return token
+ token = 'token%d' % (called,)
+ setattr(self, '_called', called + 1)
+ return token
- return _
-
class StubRequest(object):
def __init__(self, method, uri, authnUser):
self.method = method
@@ -53,25 +50,22 @@
def setUp(self):
self.props = InMemoryPropertyStore()
self.ccn = CacheChangeNotifier(self.props)
- self.ccn._newPropertyToken = instancemethod(_newCacheTokens('prop'),
- self.ccn,
- CacheChangeNotifier)
- self.ccn._newDataToken = instancemethod(_newCacheTokens('data'),
- self.ccn,
- CacheChangeNotifier)
+ self.ccn._newCacheToken = instancemethod(_newCacheToken,
+ self.ccn,
+ CacheChangeNotifier)
def test_cacheTokenPropertyIsProvisioned(self):
self.ccn.changed()
token = self.props._properties[CacheTokensProperty.qname()
].children[0].data
- self.assertEquals(tokens, 'token0')
+ self.assertEquals(token, 'token0')
def test_changedChangesToken(self):
- self.ccn.propertiesChanged()
- self.ccn.propertiesChanged()
- tokens = self.props._properties[CacheTokensProperty.qname()
+ self.ccn.changed()
+ self.ccn.changed()
+ token = self.props._properties[CacheTokensProperty.qname()
].children[0].data
self.assertEquals(token, 'token1')
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080502/131eec0a/attachment.html
More information about the calendarserver-changes
mailing list