[CalendarServer-changes] [8530] CalendarServer/branches/users/glyph/skip-lonely-vtimezones
source_changes at macosforge.org
source_changes at macosforge.org
Fri Jan 13 14:03:09 PST 2012
Revision: 8530
http://trac.macosforge.org/projects/calendarserver/changeset/8530
Author: glyph at apple.com
Date: 2012-01-13 14:03:09 -0800 (Fri, 13 Jan 2012)
Log Message:
-----------
Move requirements-merging functionality to separate method.
Modified Paths:
--------------
CalendarServer/branches/users/glyph/skip-lonely-vtimezones/txdav/common/datastore/upgrade/test/test_migrate.py
Property Changed:
----------------
CalendarServer/branches/users/glyph/skip-lonely-vtimezones/
Modified: CalendarServer/branches/users/glyph/skip-lonely-vtimezones/txdav/common/datastore/upgrade/test/test_migrate.py
===================================================================
--- CalendarServer/branches/users/glyph/skip-lonely-vtimezones/txdav/common/datastore/upgrade/test/test_migrate.py 2012-01-13 22:03:05 UTC (rev 8529)
+++ CalendarServer/branches/users/glyph/skip-lonely-vtimezones/txdav/common/datastore/upgrade/test/test_migrate.py 2012-01-13 22:03:09 UTC (rev 8530)
@@ -139,13 +139,7 @@
requirements = CommonTests.requirements
extras = deriveValue(self, "extraRequirements", lambda t: {})
- for homeUID in extras:
- homereq = requirements.setdefault(homeUID, {})
- homeExtras = extras[homeUID]
- for calendarUID in homeExtras:
- calreq = homereq.setdefault(calendarUID, {})
- calendarExtras = homeExtras[calendarUID]
- calreq.update(calendarExtras)
+ requirements = self.mergeRequirements(requirements, extras)
yield populateCalendarsFrom(requirements, fileStore)
md5s = CommonTests.md5s
@@ -163,6 +157,31 @@
".some-extra-data").setContent("some extra data")
+ def mergeRequirements(self, a, b):
+ """
+ Merge two requirements dictionaries together, modifying C{a} and
+ returning it.
+
+ @param a: Some requirements, in the format of
+ L{CommonTests.requirements}.
+ @type a: C{dict}
+
+ @param b: Some additional requirements, to be merged into C{a}.
+ @type b: C{dict}
+
+ @return: C{a}
+ @rtype: C{dict}
+ """
+ for homeUID in b:
+ homereq = a.setdefault(homeUID, {})
+ homeExtras = b[homeUID]
+ for calendarUID in homeExtras:
+ calreq = homereq.setdefault(calendarUID, {})
+ calendarExtras = homeExtras[calendarUID]
+ calreq.update(calendarExtras)
+ return a
+
+
@withSpecialValue(
"extraRequirements",
{
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120113/97ce76a1/attachment.html>
More information about the calendarserver-changes
mailing list