[CalendarServer-changes] [12052] CalendarServer/branches/users/sagen/groupcacher

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:19:54 PDT 2014


Revision: 12052
          http://trac.calendarserver.org//changeset/12052
Author:   gaya at apple.com
Date:     2013-12-11 15:31:37 -0800 (Wed, 11 Dec 2013)
Log Message:
-----------
fix GroupCacher.groupsToRefresh() + minor cleaning

Modified Paths:
--------------
    CalendarServer/branches/users/sagen/groupcacher/twext/who/groups.py
    CalendarServer/branches/users/sagen/groupcacher/twext/who/test/test_groups.py
    CalendarServer/branches/users/sagen/groupcacher/txdav/caldav/datastore/sql.py

Modified: CalendarServer/branches/users/sagen/groupcacher/twext/who/groups.py
===================================================================
--- CalendarServer/branches/users/sagen/groupcacher/twext/who/groups.py	2013-12-11 22:16:01 UTC (rev 12051)
+++ CalendarServer/branches/users/sagen/groupcacher/twext/who/groups.py	2013-12-11 23:31:37 UTC (rev 12052)
@@ -319,7 +319,24 @@
         delegatedGUIDs = set((yield allGroupDelegates(txn)))
         self.log.info("There are %d group delegates" % (len(delegatedGUIDs),))
 
-        # TODO: Retrieve the set of attendee group guids
         attendeeGroupGUIDs = set()
+        
+        # get all groups from events
+        groupAttendee = schema.GROUP_ATTENDEE
+        rows = yield Select(
+            [groupAttendee.GROUP_ID, ],
+            From=groupAttendee,
+        ).on(txn)
+        groupIDs = set([row[0] for row in rows])
 
+        # get groupGUIDs
+        if groupIDs:
+            gr = schema.GROUPS
+            rows = yield Select(
+                [gr.GROUP_GUID, ],
+                From=gr,
+                Where=gr.GROUP_ID.In(groupIDs)
+            ).on(txn)
+            attendeeGroupGUIDs = set([row[0] for row in rows])
+
         returnValue(delegatedGUIDs.union(attendeeGroupGUIDs))

Modified: CalendarServer/branches/users/sagen/groupcacher/twext/who/test/test_groups.py
===================================================================
--- CalendarServer/branches/users/sagen/groupcacher/twext/who/test/test_groups.py	2013-12-11 22:16:01 UTC (rev 12051)
+++ CalendarServer/branches/users/sagen/groupcacher/twext/who/test/test_groups.py	2013-12-11 23:31:37 UTC (rev 12052)
@@ -331,7 +331,7 @@
 """
 
         vcalendar1 = Component.fromString(data_put_1)
-        cobj1 = yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
+        yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
         yield self.commit()
 
         cobj1 = yield self.calendarObjectUnderTest(name="data1.ics", calendar_name="calendar", home="user01")
@@ -381,7 +381,7 @@
 """
 
         vcalendar1 = Component.fromString(data_put_1)
-        cobj1 = yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
+        yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
         yield self.commit()
 
         cobj1 = yield self.calendarObjectUnderTest(name="data1.ics", calendar_name="calendar", home="user01")
@@ -432,7 +432,7 @@
 END:VCALENDAR
 """
         vcalendar1 = Component.fromString(data_put_1)
-        cobj1 = yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
+        yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
         yield self.commit()
 
         cobj1 = yield self.calendarObjectUnderTest(name="data1.ics", calendar_name="calendar", home="user01")
@@ -487,7 +487,7 @@
 """
 
         vcalendar1 = Component.fromString(data_put_1)
-        cobj1 = yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
+        yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
         yield self.commit()
 
         cobj1 = yield self.calendarObjectUnderTest(name="data1.ics", calendar_name="calendar", home="user01")
@@ -544,7 +544,7 @@
 """
 
         vcalendar1 = Component.fromString(data_put_1)
-        cobj1 = yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
+        yield calendar.createCalendarObjectWithName("data1.ics", vcalendar1)
         yield self.commit()
 
         cobj1 = yield self.calendarObjectUnderTest(name="data1.ics", calendar_name="calendar", home="user01")

Modified: CalendarServer/branches/users/sagen/groupcacher/txdav/caldav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/sagen/groupcacher/txdav/caldav/datastore/sql.py	2013-12-11 22:16:01 UTC (rev 12051)
+++ CalendarServer/branches/users/sagen/groupcacher/txdav/caldav/datastore/sql.py	2013-12-11 23:31:37 UTC (rev 12052)
@@ -1625,9 +1625,9 @@
             groupRecord = yield self.directoryService().recordWithGUID(groupGUID)
             if groupRecord:
                 members = yield expandedMembers(groupRecord)
+                memberGUIDs = sorted([member.guid for member in members])
+
                 membershipHashContent = hashlib.md5()
-                members = yield expandedMembers(groupRecord)
-                memberGUIDs = sorted([member.guid for member in members])
                 for memberGUID in memberGUIDs:
                     membershipHashContent.update(str(memberGUID))
                 membershipHash = membershipHashContent.hexdigest()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/d700721e/attachment.html>


More information about the calendarserver-changes mailing list