[CalendarServer-changes] [13587] PyCalendar/trunk/src/zonal
source_changes at macosforge.org
source_changes at macosforge.org
Sat May 31 19:08:50 PDT 2014
Revision: 13587
http://trac.calendarserver.org//changeset/13587
Author: cdaboo at apple.com
Date: 2014-05-31 19:08:50 -0700 (Sat, 31 May 2014)
Log Message:
-----------
Fix tz functions to catch up to api changes.
Modified Paths:
--------------
PyCalendar/trunk/src/zonal/tzdump.py
PyCalendar/trunk/src/zonal/tzverify.py
Modified: PyCalendar/trunk/src/zonal/tzdump.py
===================================================================
--- PyCalendar/trunk/src/zonal/tzdump.py 2014-06-01 01:06:08 UTC (rev 13586)
+++ PyCalendar/trunk/src/zonal/tzdump.py 2014-06-01 02:08:50 UTC (rev 13587)
@@ -46,14 +46,16 @@
+def sortedList(setdata):
+ l = list(setdata)
+ l.sort(cmp=lambda x, y: DateTime.sort(x[0], y[0]))
+ return l
+
+
+
def formattedExpandedDates(expanded):
- items = []
- for item in expanded:
- utc = item[0].duplicate()
- utc.setTimezoneUTC(True)
- utc.offsetSeconds(-item[1])
- items.append((item[0], utc, secondsToTime(item[1]), secondsToTime(item[2]),))
- return "\n".join(["(%s, %s, %s, %s)" % item for item in items])
+ items = sortedList([(item[0], item[1], secondsToTime(item[2]), secondsToTime(item[3]),) for item in expanded])
+ return ", ".join(["(%s, %s, %s, %s)" % item for item in items])
Modified: PyCalendar/trunk/src/zonal/tzverify.py
===================================================================
--- PyCalendar/trunk/src/zonal/tzverify.py 2014-06-01 01:06:08 UTC (rev 13586)
+++ PyCalendar/trunk/src/zonal/tzverify.py 2014-06-01 02:08:50 UTC (rev 13587)
@@ -22,8 +22,9 @@
import getopt
import os
import sys
+from pycalendar.icalendar import definitions
-def loadCalendarFromZoneinfo(zoneinfopath, skips=(), verbose=False, quiet=False):
+def loadCalendarFromZoneinfo(zoneinfopath, skips=(), only=(), verbose=False, quiet=False):
if not quiet:
print "Scanning for calendar data in: %s" % (zoneinfopath,)
@@ -34,13 +35,20 @@
if os.path.isdir(fpath):
scanForICS(fpath)
elif fname.endswith(".ics"):
- for skip in skips:
- if skip in fpath:
- break
+ if only:
+ for item in only:
+ if item in fpath:
+ if verbose:
+ print "Found calendar data: %s" % (fpath,)
+ paths.append(fpath)
else:
- if verbose:
- print "Found calendar data: %s" % (fpath,)
- paths.append(fpath)
+ for skip in skips:
+ if skip in fpath:
+ break
+ else:
+ if verbose:
+ print "Found calendar data: %s" % (fpath,)
+ paths.append(fpath)
scanForICS(zoneinfopath)
if not quiet:
@@ -109,9 +117,9 @@
missing = tzids1.difference(tzids2)
if missing:
print """TZIDs in calendar 1 not in calendar 2 files: %s
-These cannot be checked.""" % (", ".join(missing),)
+These cannot be checked.""" % (", ".join(sorted(missing)),)
- for tzid in tzids1.intersection(tzids2):
+ for tzid in sorted(tzids1.intersection(tzids2)):
if filterTzids and tzid not in filterTzids:
continue
if not quiet:
@@ -128,11 +136,11 @@
if i[0] == start:
d1.discard(i)
break
- if i[1] == i[2]:
+ if i[2] == i[3]:
d1.discard(i)
d2 = set2.difference(set1)
for i in set(d2):
- if i[1] == i[2]:
+ if i[2] == i[3]:
d2.discard(i)
if d1:
print "In calendar 1 but not in calendar 2 tzid=%s: %s" % (tzid, formattedExpandedDates(d1),)
@@ -146,8 +154,7 @@
def getTZIDs(cal):
results = set()
- db = cal.getVTimezoneDB()
- for vtz in db:
+ for vtz in cal.getComponents(definitions.cICalComponent_VTIMEZONE):
tzid = vtz.getID()
results.add(tzid)
@@ -157,8 +164,7 @@
def getExpandedDates(cal, tzid, start, end):
- db = cal.getVTimezoneDB()
- return db[tzid].expandAll(start, end)
+ return cal.getTimezone(tzid).expandAll(start, end)
@@ -170,8 +176,8 @@
def formattedExpandedDates(expanded):
- items = sortedList([(item[0], secondsToTime(item[1]), secondsToTime(item[2]),) for item in expanded])
- return ", ".join(["(%s, %s, %s)" % item for item in items])
+ items = sortedList([(item[0], item[1], secondsToTime(item[2]), secondsToTime(item[3]),) for item in expanded])
+ return ", ".join(["(%s, %s, %s, %s)" % item for item in items])
@@ -267,9 +273,13 @@
#"Africa/Cairo",
)
- checkcalendar1 = loadCalendarFromZoneinfo(zonedir1, skips, verbose, quiet)
- checkcalendar2 = loadCalendarFromZoneinfo(zonedir2, skips, verbose, quiet)
+ only = (
+ #"Europe/Lisbon",
+ )
+ checkcalendar1 = loadCalendarFromZoneinfo(zonedir1, skips, only, verbose, quiet)
+ checkcalendar2 = loadCalendarFromZoneinfo(zonedir2, skips, only, verbose, quiet)
+
compareCalendars(
checkcalendar1,
checkcalendar2,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140531/afe07893/attachment-0001.html>
More information about the calendarserver-changes
mailing list