[CalendarServer-changes] [5018] CalendarServer/trunk/txcaldav/calendarstore
source_changes at macosforge.org
source_changes at macosforge.org
Tue Feb 2 13:37:57 PST 2010
Revision: 5018
http://trac.macosforge.org/projects/calendarserver/changeset/5018
Author: wsanchez at apple.com
Date: 2010-02-02 13:37:57 -0800 (Tue, 02 Feb 2010)
Log Message:
-----------
Wire up xattr properties
Modified Paths:
--------------
CalendarServer/trunk/txcaldav/calendarstore/file.py
CalendarServer/trunk/txcaldav/calendarstore/test/test_file.py
Modified: CalendarServer/trunk/txcaldav/calendarstore/file.py
===================================================================
--- CalendarServer/trunk/txcaldav/calendarstore/file.py 2010-02-02 21:36:56 UTC (rev 5017)
+++ CalendarServer/trunk/txcaldav/calendarstore/file.py 2010-02-02 21:37:57 UTC (rev 5018)
@@ -34,6 +34,8 @@
from twext.log import LoggingMixIn
from twext.python.icalendar import Component as iComponent, InvalidICalendarDataError
+from txdav.propertystore.xattr import PropertyStore
+
from txcaldav.icalendarstore import ICalendarHome, ICalendar, ICalendarObject
#from txcaldav.icalendarstore import CalendarStoreError
#from txcaldav.icalendarstore import AlreadyExistsError
@@ -104,7 +106,9 @@
raise NotImplementedError()
def properties(self):
- raise NotImplementedError()
+ if not hasattr(self, "_properties"):
+ self._properties = PropertyStore(self.path)
+ return self._properties
class Calendar(LoggingMixIn):
@@ -157,7 +161,9 @@
raise NotImplementedError()
def properties(self):
- raise NotImplementedError()
+ if not hasattr(self, "_properties"):
+ self._properties = PropertyStore(self.path)
+ return self._properties
class CalendarObject(LoggingMixIn):
@@ -242,4 +248,6 @@
return self.component().getOrganizer()
def properties(self):
- raise NotImplementedError()
+ if not hasattr(self, "_properties"):
+ self._properties = PropertyStore(self.path)
+ return self._properties
Modified: CalendarServer/trunk/txcaldav/calendarstore/test/test_file.py
===================================================================
--- CalendarServer/trunk/txcaldav/calendarstore/test/test_file.py 2010-02-02 21:36:56 UTC (rev 5017)
+++ CalendarServer/trunk/txcaldav/calendarstore/test/test_file.py 2010-02-02 21:37:57 UTC (rev 5018)
@@ -50,6 +50,17 @@
"3.ics",
)
+
+class PropertiesTestMixin(object):
+ def test_properties(self):
+ properties = self.home1.properties()
+
+ self.failUnless(
+ IPropertyStore.providedBy(properties),
+ properties
+ )
+
+
class CalendarStoreTest(unittest.TestCase):
def setUp(self):
self.calendarStore = CalendarStore(storePath)
@@ -70,7 +81,7 @@
assert isinstance(calendarHome, CalendarHome)
-class CalendarHomeTest(unittest.TestCase):
+class CalendarHomeTest(unittest.TestCase, PropertiesTestMixin):
def setUp(self):
self.calendarStore = CalendarStore(storePath)
self.home1 = self.calendarStore.calendarHomeWithUID("home1")
@@ -98,7 +109,7 @@
calendars = tuple(self.home1.calendars())
for calendar in calendars:
- self.failUnless(isinstance(calendar, Calendar))
+ self.failUnless(isinstance(calendar, Calendar), calendar)
self.assertEquals(
tuple(c.name() for c in calendars),
@@ -108,7 +119,7 @@
def test_calendarWithName(self):
for name in home1_calendarNames:
calendar = self.home1.calendarWithName(name)
- self.failUnless(isinstance(calendar, Calendar))
+ self.failUnless(isinstance(calendar, Calendar), calendar)
self.assertEquals(calendar.name(), name)
def test_createCalendarWithName(self):
@@ -119,15 +130,8 @@
raise NotImplementedError()
test_removeCalendarWithName.todo = "Unimplemented"
- def test_properties(self):
- properties = self.home1.properties()
- # FIXME: check specific class later?
- self.failUnless(IPropertyStore.providedBy(properties))
- test_properties.todo = "Unimplemented"
-
-
-class CalendarTest(unittest.TestCase):
+class CalendarTest(unittest.TestCase, PropertiesTestMixin):
def setUp(self):
self.calendarStore = CalendarStore(storePath)
self.home1 = self.calendarStore.calendarHomeWithUID("home1")
@@ -163,7 +167,10 @@
calendarObjects = tuple(self.calendar1.calendarObjects())
for calendarObject in calendarObjects:
- self.failUnless(isinstance(calendarObject, CalendarObject))
+ self.failUnless(
+ isinstance(calendarObject, CalendarObject),
+ calendarObject
+ )
self.assertEquals(
tuple(o.name() for o in calendarObjects),
@@ -173,7 +180,10 @@
def test_calendarObjectWithName(self):
for name in calendar1_objectNames:
calendarObject = self.calendar1.calendarObjectWithName(name)
- self.failUnless(isinstance(calendarObject, CalendarObject))
+ self.failUnless(
+ isinstance(calendarObject, CalendarObject),
+ calendarObject
+ )
self.assertEquals(calendarObject.name(), name)
def test_calendarObjectWithUID(self):
@@ -204,12 +214,8 @@
raise NotImplementedError()
test_calendarObjectsSinceToken.todo = "Unimplemented"
- def test_properties(self):
- raise NotImplementedError()
- test_properties.todo = "Unimplemented"
-
-class CalendarObjectTest(unittest.TestCase):
+class CalendarObjectTest(unittest.TestCase, PropertiesTestMixin):
def setUp(self):
self.calendarStore = CalendarStore(storePath)
self.home1 = self.calendarStore.calendarHomeWithUID("home1")
@@ -266,7 +272,3 @@
def test_organizer(self):
self.assertEquals(self.object1.organizer(), "mailto:wsanchez at apple.com")
-
- def test_properties(self):
- raise NotImplementedError()
- test_properties.todo = "Unimplemented"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100202/78af3baf/attachment.html>
More information about the calendarserver-changes
mailing list