<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[13800] PyCalendar/trunk/src</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.calendarserver.org//changeset/13800">13800</a></dd>
<dt>Author</dt> <dd>cdaboo@apple.com</dd>
<dt>Date</dt> <dd>2014-07-29 07:53:07 -0700 (Tue, 29 Jul 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>White space.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#PyCalendartrunksrcpycalendardatetimepy">PyCalendar/trunk/src/pycalendar/datetime.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendardatetimevaluepy">PyCalendar/trunk/src/pycalendar/datetimevalue.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendardurationpy">PyCalendar/trunk/src/pycalendar/duration.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarcalendarpy">PyCalendar/trunk/src/pycalendar/icalendar/calendar.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarcomponentpy">PyCalendar/trunk/src/pycalendar/icalendar/component.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarcomponentexpandedpy">PyCalendar/trunk/src/pycalendar/icalendar/componentexpanded.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarcomponentrecurpy">PyCalendar/trunk/src/pycalendar/icalendar/componentrecur.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarpropertypy">PyCalendar/trunk/src/pycalendar/icalendar/property.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarrecurrencepy">PyCalendar/trunk/src/pycalendar/icalendar/recurrence.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarrecurrencesetpy">PyCalendar/trunk/src/pycalendar/icalendar/recurrenceset.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_calendarpy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_calendar.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_componentrecurpy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_componentrecur.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_i18npy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_i18n.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_jsonpy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_json.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_timezonepy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_timezone.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_vpollpy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_vpoll.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarteststest_xmlpy">PyCalendar/trunk/src/pycalendar/icalendar/tests/test_xml.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaricalendarvalarmpy">PyCalendar/trunk/src/pycalendar/icalendar/valarm.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendaroutputfilterpy">PyCalendar/trunk/src/pycalendar/outputfilter.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendarperiodpy">PyCalendar/trunk/src/pycalendar/period.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendartestsutilspy">PyCalendar/trunk/src/pycalendar/tests/utils.py</a></li>
<li><a href="#PyCalendartrunksrcpycalendarvcardteststest_cardpy">PyCalendar/trunk/src/pycalendar/vcard/tests/test_card.py</a></li>
<li><a href="#PyCalendartrunksrczonaltzconvertpy">PyCalendar/trunk/src/zonal/tzconvert.py</a></li>
<li><a href="#PyCalendartrunksrczonaltzverifypy">PyCalendar/trunk/src/zonal/tzverify.py</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="PyCalendartrunksrcpycalendardatetimepy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/datetime.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/datetime.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/datetime.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -611,8 +611,10 @@
</span><span class="cx"> if (self.mMonth < 1) or (self.mMonth > 12):
</span><span class="cx"> return ""
</span><span class="cx"> else:
</span><del>- return locale.getMonth(self.mMonth,
- [locale.SHORT, locale.LONG][not short_txt])
</del><ins>+ return locale.getMonth(
+ self.mMonth,
+ [locale.SHORT, locale.LONG][not short_txt]
+ )
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def getDayOfWeekText(self, day):
</span><span class="lines">@@ -1128,7 +1130,8 @@
</span><span class="cx"> xmlutils.makeTag(
</span><span class="cx"> namespace,
</span><span class="cx"> xmldefinitions.value_date if self.isDateOnly() else xmldefinitions.value_date_time
</span><del>- ))
</del><ins>+ )
+ )
</ins><span class="cx"> value.text = self.getXMLText()
</span><span class="cx">
</span><span class="cx">
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendardatetimevaluepy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/datetimevalue.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/datetimevalue.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/datetimevalue.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> _wrappedType = None # Depends on actual value
</span><span class="cx">
</span><span class="cx"> def getType(self):
</span><del>- return (Value.VALUETYPE_DATETIME, Value.VALUETYPE_DATE)[self.mValue.isDateOnly()]
</del><ins>+ return (Value.VALUETYPE_DATETIME, Value.VALUETYPE_DATE)[self.mValue.isDateOnly()]
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def parse(self, data, variant):
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendardurationpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/duration.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/duration.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/duration.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">
</span><span class="cx"> def getTotalSeconds(self):
</span><span class="cx"> return [1, -1][not self.mForward] \
</span><del>- * (self.mSeconds + (self.mMinutes + (self.mHours + (self.mDays + (self.mWeeks * 7)) * 24) * 60) * 60)
</del><ins>+ * (self.mSeconds + (self.mMinutes + (self.mHours + (self.mDays + (self.mWeeks * 7)) * 24) * 60) * 60)
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def setDuration(self, seconds):
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarcalendarpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/calendar.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/calendar.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/calendar.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -424,8 +424,10 @@
</span><span class="cx"> if only_due:
</span><span class="cx"> if vtodo.getStatus() == definitions.eStatus_VToDo_Cancelled:
</span><span class="cx"> continue
</span><del>- elif ((vtodo.getStatus() == definitions.eStatus_VToDo_Completed) and
- (not vtodo.hasCompleted() or (vtodo.getCompleted() < minusoneday))):
</del><ins>+ elif (
+ (vtodo.getStatus() == definitions.eStatus_VToDo_Completed) and
+ (not vtodo.hasCompleted() or (vtodo.getCompleted() < minusoneday))
+ ):
</ins><span class="cx"> continue
</span><span class="cx">
</span><span class="cx"> # Filter out those with end after chosen date if required
</span><span class="lines">@@ -436,7 +438,7 @@
</span><span class="cx"> continue
</span><span class="cx">
</span><span class="cx"> # TODO: fix this
</span><del>- #list.append(ComponentExpandedShared(ComponentExpanded(vtodo, None)))
</del><ins>+ # list.append(ComponentExpandedShared(ComponentExpanded(vtodo, None)))
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def getRecurrenceInstancesItems(self, type, uid, items):
</span><span class="lines">@@ -459,7 +461,7 @@
</span><span class="cx"> def getVFreeBusyFB(self, period, fb):
</span><span class="cx"> # First create expanded set
</span><span class="cx"> # TODO: fix this
</span><del>- #list = ExpandedComponents()
</del><ins>+ # list = ExpandedComponents()
</ins><span class="cx"> self.getVEvents(period, list)
</span><span class="cx"> if len(list) == 0:
</span><span class="cx"> return
</span><span class="lines">@@ -605,7 +607,7 @@
</span><span class="cx"> indicates what set of timezones should be automatically included. If set to L{None} the default
</span><span class="cx"> is L{Calendar.NO_TIMEZONES}. Otherwise, one of L{Calendar.ALL_TIMEZONES}, L{Calendar.NONSTD_TIMEZONES},
</span><span class="cx"> or L{Calendar.NO_TIMEZONES} must be used.
</span><del>-
</del><ins>+
</ins><span class="cx"> @param includeTimezones: indicated whether all, only non-standard or no timezones are included
</span><span class="cx"> @type includeTimezones: L{int} or L{None}
</span><span class="cx"> """
</span><span class="lines">@@ -641,7 +643,7 @@
</span><span class="cx"> """
</span><span class="cx"> Remove VTIMEZONE components from this L{Calendar} if the corresponding TZIDs are
</span><span class="cx"> in the timezone database.
</span><del>-
</del><ins>+
</ins><span class="cx"> @return: L{True} if changes were made, L{False} otherwise
</span><span class="cx"> @rtype: L{bool}
</span><span class="cx"> """
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarcomponentpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/component.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/component.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/component.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -164,16 +164,14 @@
</span><span class="cx"> def initDTSTAMP(self):
</span><span class="cx"> self.removeProperties(definitions.cICalProperty_DTSTAMP)
</span><span class="cx">
</span><del>- prop = Property(definitions.cICalProperty_DTSTAMP,
- DateTime.getNowUTC())
</del><ins>+ prop = Property(definitions.cICalProperty_DTSTAMP, DateTime.getNowUTC())
</ins><span class="cx"> self.addProperty(prop)
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> def updateLastModified(self):
</span><span class="cx"> self.removeProperties(definitions.cICalProperty_LAST_MODIFIED)
</span><span class="cx">
</span><del>- prop = Property(definitions.cICalProperty_LAST_MODIFIED,
- DateTime.getNowUTC())
</del><ins>+ prop = Property(definitions.cICalProperty_LAST_MODIFIED, DateTime.getNowUTC())
</ins><span class="cx"> self.addProperty(prop)
</span><span class="cx">
</span><span class="cx">
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarcomponentexpandedpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/componentexpanded.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/componentexpanded.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/componentexpanded.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -41,8 +41,10 @@
</span><span class="cx"> @staticmethod
</span><span class="cx"> def sort_by_dtstart(e1, e2):
</span><span class="cx"> if e1.mInstanceStart == e2.mInstanceStart:
</span><del>- if (e1.mInstanceStart.isDateOnly() and not e2.mInstanceStart.isDateOnly() or
- not e1.mInstanceStart.isDateOnly() and e2.mInstanceStart.isDateOnly()):
</del><ins>+ if (
+ e1.mInstanceStart.isDateOnly() and not e2.mInstanceStart.isDateOnly() or
+ not e1.mInstanceStart.isDateOnly() and e2.mInstanceStart.isDateOnly()
+ ):
</ins><span class="cx"> return e1.mInstanceStart.isDateOnly()
</span><span class="cx"> else:
</span><span class="cx"> return False
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarcomponentrecurpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/componentrecur.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/componentrecur.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/componentrecur.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -64,8 +64,10 @@
</span><span class="cx"> @staticmethod
</span><span class="cx"> def sort_by_dtstart(e1, e2):
</span><span class="cx"> if e1.self.mStart == e2.self.mStart:
</span><del>- if (e1.self.mStart.isDateOnly() and e2.self.mStart.isDateOnly() or
- not e1.self.mStart.isDateOnly() and not e2.self.mStart.isDateOnly()):
</del><ins>+ if (
+ e1.self.mStart.isDateOnly() and e2.self.mStart.isDateOnly() or
+ not e1.self.mStart.isDateOnly() and not e2.self.mStart.isDateOnly()
+ ):
</ins><span class="cx"> return False
</span><span class="cx"> else:
</span><span class="cx"> return e1.self.mStart.isDateOnly()
</span><span class="lines">@@ -380,10 +382,12 @@
</span><span class="cx"> def _resetRecurrenceSet(self):
</span><span class="cx"> # May need to create items
</span><span class="cx"> self.mRecurrences = None
</span><del>- if ((self.countProperty(definitions.cICalProperty_RRULE) != 0) or
</del><ins>+ if (
+ (self.countProperty(definitions.cICalProperty_RRULE) != 0) or
</ins><span class="cx"> (self.countProperty(definitions.cICalProperty_RDATE) != 0) or
</span><span class="cx"> (self.countProperty(definitions.cICalProperty_EXRULE) != 0) or
</span><del>- (self.countProperty(definitions.cICalProperty_EXDATE) != 0)):
</del><ins>+ (self.countProperty(definitions.cICalProperty_EXDATE) != 0)
+ ):
</ins><span class="cx">
</span><span class="cx"> self.mRecurrences = RecurrenceSet()
</span><span class="cx">
</span><span class="lines">@@ -678,7 +682,7 @@
</span><span class="cx"> for iter in self.mRecurrences.getRules():
</span><span class="cx"> prop = Property(definitions.cICalProperty_RRULE, iter)
</span><span class="cx"> self.addProperty(prop)
</span><del>- for iter in self.mRecurrences.getDates():
</del><ins>+ for iter in self.mRecurrences.getDates():
</ins><span class="cx"> prop = Property(definitions.cICalProperty_RDATE, iter)
</span><span class="cx"> self.addProperty(prop)
</span><span class="cx">
</span><span class="lines">@@ -699,8 +703,10 @@
</span><span class="cx"> # If this component does not have its own end/duration property,
</span><span class="cx"> # the determine
</span><span class="cx"> # the end from the master duration
</span><del>- if (not self.hasProperty(definitions.cICalProperty_DTEND) and
- not self.hasProperty(definitions.cICalProperty_DURATION)):
</del><ins>+ if (
+ not self.hasProperty(definitions.cICalProperty_DTEND) and
+ not self.hasProperty(definitions.cICalProperty_DURATION)
+ ):
</ins><span class="cx"> # End is based on original events settings
</span><span class="cx"> self.mEnd = self.mStart + (self.mMaster.getEnd() - self.mMaster.getStart())
</span><span class="cx">
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarpropertypy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/property.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/property.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/property.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -297,7 +297,7 @@
</span><span class="cx"> if definitions.cICalParameter_TZID in self.mParameters:
</span><span class="cx"> del self.mParameters[definitions.cICalParameter_TZID]
</span><span class="cx"> self.mParameters.setdefault(definitions.cICalParameter_TZID, []).append(
</span><del>- Parameter(name=definitions.cICalParameter_TZID, value=dt.getTimezoneID()))
</del><ins>+ Parameter(name=definitions.cICalParameter_TZID, value=dt.getTimezoneID()))
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def _init_attr_value_datetimelist(self, dtl):
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx"> if definitions.cICalParameter_TZID in self.mParameters:
</span><span class="cx"> del self.mParameters[definitions.cICalParameter_TZID]
</span><span class="cx"> self.mParameters.setdefault(definitions.cICalParameter_TZID, []).append(
</span><del>- Parameter(name=definitions.cICalParameter_TZID, value=dtl[0].getTimezoneID()))
</del><ins>+ Parameter(name=definitions.cICalParameter_TZID, value=dtl[0].getTimezoneID()))
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def _init_attr_value_periodlist(self, periodlist):
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarrecurrencepy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/recurrence.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/recurrence.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/recurrence.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -204,20 +204,22 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> def equals(self, comp):
</span><del>- return (self.mFreq == comp.mFreq) \
- and (self.mUseCount == comp.mUseCount) and (self.mCount == comp.mCount) \
- and (self.mUseUntil == comp.mUseUntil) and (self.mUntil == comp.mUntil) \
- and (self.mInterval == comp.mInterval) \
- and self.equalsNum(self.mBySeconds, comp.mBySeconds) \
- and self.equalsNum(self.mByMinutes, comp.mByMinutes) \
- and self.equalsNum(self.mByHours, comp.mByHours) \
- and self.equalsDayNum(self.mByDay, comp.mByDay) \
- and self.equalsNum(self.mByMonthDay, comp.mByMonthDay) \
- and self.equalsNum(self.mByYearDay, comp.mByYearDay) \
- and self.equalsNum(self.mByWeekNo, comp.mByWeekNo) \
- and self.equalsNum(self.mByMonth, comp.mByMonth) \
- and self.equalsNum(self.mBySetPos, comp.mBySetPos) \
- and (self.mWeekstart == comp.mWeekstart)
</del><ins>+ return (
+ (self.mFreq == comp.mFreq)
+ and (self.mUseCount == comp.mUseCount) and (self.mCount == comp.mCount)
+ and (self.mUseUntil == comp.mUseUntil) and (self.mUntil == comp.mUntil)
+ and (self.mInterval == comp.mInterval)
+ and self.equalsNum(self.mBySeconds, comp.mBySeconds)
+ and self.equalsNum(self.mByMinutes, comp.mByMinutes)
+ and self.equalsNum(self.mByHours, comp.mByHours)
+ and self.equalsDayNum(self.mByDay, comp.mByDay)
+ and self.equalsNum(self.mByMonthDay, comp.mByMonthDay)
+ and self.equalsNum(self.mByYearDay, comp.mByYearDay)
+ and self.equalsNum(self.mByWeekNo, comp.mByWeekNo)
+ and self.equalsNum(self.mByMonth, comp.mByMonth)
+ and self.equalsNum(self.mBySetPos, comp.mBySetPos)
+ and (self.mWeekstart == comp.mWeekstart)
+ )
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def equalsNum(self, items1, items2):
</span><span class="lines">@@ -500,7 +502,7 @@
</span><span class="cx"> avalue = abs(value)
</span><span class="cx"> if min is not None and avalue < min:
</span><span class="cx"> raise ValueError(errmsg)
</span><del>- if max is not None and avalue > max:
</del><ins>+ if max is not None and avalue > max:
</ins><span class="cx"> raise ValueError(errmsg)
</span><span class="cx"> list.append(value)
</span><span class="cx">
</span><span class="lines">@@ -794,15 +796,17 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> def hasBy(self):
</span><del>- return (self.mBySeconds is not None) and (len(self.mBySeconds) != 0) \
- or (self.mByMinutes is not None) and (len(self.mByMinutes) != 0) \
- or (self.mByHours is not None) and (len(self.mByHours) != 0) \
- or (self.mByDay is not None) and (len(self.mByDay) != 0) \
- or (self.mByMonthDay is not None) and (len(self.mByMonthDay) != 0) \
- or (self.mByYearDay is not None) and (len(self.mByYearDay) != 0) \
- or (self.mByWeekNo is not None) and (len(self.mByWeekNo) != 0) \
- or (self.mByMonth is not None) and (len(self.mByMonth) != 0) \
- or (self.mBySetPos is not None) and (len(self.mBySetPos) != 0)
</del><ins>+ return (
+ (self.mBySeconds is not None) and (len(self.mBySeconds) != 0)
+ or (self.mByMinutes is not None) and (len(self.mByMinutes) != 0)
+ or (self.mByHours is not None) and (len(self.mByHours) != 0)
+ or (self.mByDay is not None) and (len(self.mByDay) != 0)
+ or (self.mByMonthDay is not None) and (len(self.mByMonthDay) != 0)
+ or (self.mByYearDay is not None) and (len(self.mByYearDay) != 0)
+ or (self.mByWeekNo is not None) and (len(self.mByWeekNo) != 0)
+ or (self.mByMonth is not None) and (len(self.mByMonth) != 0)
+ or (self.mBySetPos is not None) and (len(self.mBySetPos) != 0)
+ )
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def isSimpleRule(self):
</span><span class="lines">@@ -819,11 +823,13 @@
</span><span class="cx"> # no others
</span><span class="cx">
</span><span class="cx"> # First checks the ones we do not handle at all
</span><del>- if ((self.mBySeconds is not None) and (len(self.mBySeconds) != 0) \
- or (self.mByMinutes is not None) and (len(self.mByMinutes) != 0) \
- or (self.mByHours is not None) and (len(self.mByHours) != 0) \
- or (self.mByYearDay is not None) and (len(self.mByYearDay) != 0) \
- or (self.mByWeekNo is not None) and (len(self.mByWeekNo) != 0)):
</del><ins>+ if (
+ (self.mBySeconds is not None) and (len(self.mBySeconds) != 0)
+ or (self.mByMinutes is not None) and (len(self.mByMinutes) != 0)
+ or (self.mByHours is not None) and (len(self.mByHours) != 0)
+ or (self.mByYearDay is not None) and (len(self.mByYearDay) != 0)
+ or (self.mByWeekNo is not None) and (len(self.mByWeekNo) != 0)
+ ):
</ins><span class="cx"> return False
</span><span class="cx">
</span><span class="cx"> # Check BYMONTHDAY numbers (we can handle -7...-1, 1..31)
</span><span class="lines">@@ -1005,7 +1011,7 @@
</span><span class="cx"> set_items = filter(lambda x: not x.invalid(), set_items)
</span><span class="cx">
</span><span class="cx"> # Always sort the set as BYxxx rules may not be sorted
</span><del>- #set_items.sort(cmp=DateTime.sort)
</del><ins>+ # set_items.sort(cmp=DateTime.sort)
</ins><span class="cx"> set_items.sort(key=lambda x: x.getPosixTime())
</span><span class="cx">
</span><span class="cx"> # Process each one in the generated set
</span><span class="lines">@@ -1471,7 +1477,7 @@
</span><span class="cx"> output.append(temp)
</span><span class="cx"> else:
</span><span class="cx"> # Every matching day in the year
</span><del>- for i in range(1, 54):
</del><ins>+ for i in range(1, 54):
</ins><span class="cx"> temp = iter1.duplicate()
</span><span class="cx"> temp.setDayOfWeekInYear(i, iter2[1])
</span><span class="cx"> if temp.getYear() == (iter1).getYear():
</span><span class="lines">@@ -1699,7 +1705,7 @@
</span><span class="cx">
</span><span class="cx"> def bySetPosLimit(self, dates):
</span><span class="cx"> # The input dates MUST be sorted in order for this to work properly
</span><del>- #dates.sort(cmp=DateTime.sort)
</del><ins>+ # dates.sort(cmp=DateTime.sort)
</ins><span class="cx"> dates.sort(key=lambda x: x.getPosixTime())
</span><span class="cx">
</span><span class="cx"> # Loop over each BYSETPOS and extract the relevant component from the
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarrecurrencesetpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/recurrenceset.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/recurrenceset.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/recurrenceset.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -39,9 +39,11 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> def hasRecurrence(self):
</span><del>- return ((len(self.mRrules) != 0) or (len(self.mRdates) != 0) or (len(self.mRperiods) != 0)
- or (len(self.mExrules) != 0) or (len(self.mExdates) != 0)
- or (len(self.mExperiods) != 0))
</del><ins>+ return (
+ (len(self.mRrules) != 0) or (len(self.mRdates) != 0) or (len(self.mRperiods) != 0)
+ or (len(self.mExrules) != 0) or (len(self.mExdates) != 0)
+ or (len(self.mExperiods) != 0)
+ )
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def equals(self, comp):
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_calendarpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_calendar.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_calendar.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_calendar.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> class TestCalendar(unittest.TestCase):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="cx"> BEGIN:VEVENT
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//Example Inc.//Example Calendar//EN
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//Example Inc.//Example Calendar//EN
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//Apple Inc.//iCal 4.0.1//EN
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -260,7 +260,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -277,10 +277,10 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-)
</del><ins>+ )
</ins><span class="cx"> data2 = (
</span><del>- (
-"""BEGIN:VCALENDAR
</del><ins>+ (
+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="cx"> BEGIN:VEVENT
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="cx"> X-TEST:Testing
</span><span class="lines">@@ -309,8 +309,8 @@
</span><span class="cx"> END:VEVENT
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>- ),
-)
</del><ins>+ ),
+ )
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def testRoundtrip(self):
</span><span class="lines">@@ -467,7 +467,7 @@
</span><span class="cx"> def testParseFail(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -481,13 +481,13 @@
</span><span class="cx"> END:VEVENT
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="cx"> VERSION:2.0
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BOGUS
</del><ins>+ """BOGUS
</ins><span class="cx"> BEGIN:VCALENDAR
</span><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="lines">@@ -503,7 +503,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BOGUS
</del><ins>+ """BOGUS
</ins><span class="cx">
</span><span class="cx"> BEGIN:VCALENDAR
</span><span class="cx"> VERSION:2.0
</span><span class="lines">@@ -520,7 +520,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -536,7 +536,7 @@
</span><span class="cx"> BOGUS
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -562,7 +562,7 @@
</span><span class="cx"> def testParseBlank(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""
</del><ins>+ """
</ins><span class="cx"> BEGIN:VCALENDAR
</span><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="lines">@@ -578,7 +578,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""
</del><ins>+ """
</ins><span class="cx">
</span><span class="cx"> BEGIN:VCALENDAR
</span><span class="cx"> VERSION:2.0
</span><span class="lines">@@ -595,7 +595,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -612,7 +612,7 @@
</span><span class="cx">
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -628,7 +628,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_componentrecurpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_componentrecur.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_componentrecur.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_componentrecur.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> def testDuplicateWithRecurrenceChange(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> END:VEVENT
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> END:VEVENT
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-)
</del><ins>+ )
</ins><span class="cx">
</span><span class="cx"> cal1 = Calendar()
</span><span class="cx"> cal1.parse(StringIO.StringIO(data[0]))
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_i18npy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_i18n.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_i18n.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_i18n.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> def testAddCN(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -41,9 +41,9 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>- "まだ",
</del><ins>+ "まだ",
</ins><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_jsonpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_json.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_json.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_json.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -22,8 +22,8 @@
</span><span class="cx"> class TestJSON(unittest.TestCase):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>- (
-"""BEGIN:VCALENDAR
</del><ins>+ (
+ """BEGIN:VCALENDAR
</ins><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//Example Inc.//Example Calendar//EN
</span><span class="cx"> VERSION:2.0
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""[
</del><ins>+ """[
</ins><span class="cx"> "vcalendar",
</span><span class="cx"> [
</span><span class="cx"> [
</span><span class="lines">@@ -91,9 +91,9 @@
</span><span class="cx"> ]
</span><span class="cx"> ]
</span><span class="cx"> ]""",
</span><del>- ),
- (
-"""BEGIN:VCALENDAR
</del><ins>+ ),
+ (
+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> PRODID:-//Example Corp.//Example Client//EN
</span><span class="cx"> BEGIN:VTIMEZONE
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""[
</del><ins>+ """[
</ins><span class="cx"> "vcalendar",
</span><span class="cx"> [
</span><span class="cx"> [
</span><span class="lines">@@ -384,8 +384,8 @@
</span><span class="cx"> ]
</span><span class="cx"> ]
</span><span class="cx"> ]""",
</span><del>- ),
- )
</del><ins>+ ),
+ )
</ins><span class="cx">
</span><span class="cx"> def testGenerateJSON(self):
</span><span class="cx">
</span><span class="lines">@@ -645,7 +645,7 @@
</span><span class="cx"> ["sequence", {}, "integer", 1],
</span><span class="cx"> ["rdate", {}, "date-time", "2006-02-26T12:00:00Z", "2006-02-27T12:00:00Z"],
</span><span class="cx"> ["freebusy", {}, "period", ["2006-02-26T12:00:00Z", "2006-02-27T12:00:00Z"]],
</span><del>- ["rrule", {}, "recur", {"freq":"MONTHLY", "count": 3, "byday":["TU", "WE", "TH"], "bysetpos":[-1]}],
</del><ins>+ ["rrule", {}, "recur", {"freq": "MONTHLY", "count": 3, "byday": ["TU", "WE", "TH"], "bysetpos": [-1]}],
</ins><span class="cx"> ["request-status", {}, "text", ["2.0", "Success"]],
</span><span class="cx"> ["geo", {}, "float", [-2.1, 3.2]],
</span><span class="cx"> ["uri", {}, "uri", "http://www.example.com"],
</span><span class="lines">@@ -654,7 +654,7 @@
</span><span class="cx"> ["x-foo", {}, "float", -1.23],
</span><span class="cx"> ["x-test", {}, "text", "Some:, text."],
</span><span class="cx"> ["x-apple-structured-location", {}, "uri", "geo:123.123,123.123"],
</span><del>- ["rrule", {}, "recur", {"freq":"MONTHLY", "until": "2013-01-01T00:00:00Z"}],
</del><ins>+ ["rrule", {}, "recur", {"freq": "MONTHLY", "until": "2013-01-01T00:00:00Z"}],
</ins><span class="cx"> ["categories", {}, "text", "A", "B"],
</span><span class="cx">
</span><span class="cx"> # Various parameters
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_timezonepy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_timezone.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_timezone.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_timezone.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -24,7 +24,8 @@
</span><span class="cx"> def testOffsets(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>- ("""BEGIN:VCALENDAR
</del><ins>+ (
+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//calendarserver.org//Zonal//EN
</span><span class="lines">@@ -204,7 +205,8 @@
</span><span class="cx"> (DateTime(2014, 11, 2, 8, 0, 0), True, -5),
</span><span class="cx"> )
</span><span class="cx"> ),
</span><del>- ("""BEGIN:VCALENDAR
</del><ins>+ (
+ """BEGIN:VCALENDAR
</ins><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//calendarserver.org//Zonal//EN
</span><span class="cx"> VERSION:2.0
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_vpollpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_vpoll.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_vpoll.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_vpoll.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> class TestCalendar(unittest.TestCase):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """,
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> CALSCALE:GREGORIAN
</span><span class="cx"> METHOD:REPLY
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """,
</span><span class="cx">
</span><del>-)
</del><ins>+ )
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def testRoundtrip(self):
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarteststest_xmlpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/tests/test_xml.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/tests/test_xml.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/tests/test_xml.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -22,8 +22,8 @@
</span><span class="cx"> class TestXML(unittest.TestCase):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>- (
-"""BEGIN:VCALENDAR
</del><ins>+ (
+ """BEGIN:VCALENDAR
</ins><span class="cx"> VERSION:2.0
</span><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="cx"> BEGIN:VEVENT
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""<?xml version="1.0" encoding="utf-8"?>
</del><ins>+ """<?xml version="1.0" encoding="utf-8"?>
</ins><span class="cx"> <ns0:icalendar xmlns:ns0="urn:ietf:params:xml:ns:icalendar-2.0">
</span><span class="cx"> <ns0:vcalendar>
</span><span class="cx"> <ns0:properties>
</span><span class="lines">@@ -81,8 +81,8 @@
</span><span class="cx"> </ns0:vcalendar>
</span><span class="cx"> </ns0:icalendar>
</span><span class="cx"> """,
</span><del>- ),
-)
</del><ins>+ ),
+ )
</ins><span class="cx">
</span><span class="cx"> def testGenerateXML(self):
</span><span class="cx">
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaricalendarvalarmpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/icalendar/valarm.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/icalendar/valarm.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/icalendar/valarm.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -583,9 +583,13 @@
</span><span class="cx">
</span><span class="cx"> # Add new (with parameter)
</span><span class="cx"> prop = Property(definitions.cICalProperty_TRIGGER, duration)
</span><del>- attr = Parameter(definitions.cICalParameter_RELATED,
- (definitions.cICalParameter_RELATED_START,
- definitions.cICalParameter_RELATED_END)[not trigger_start])
</del><ins>+ attr = Parameter(
+ definitions.cICalParameter_RELATED,
+ (
+ definitions.cICalParameter_RELATED_START,
+ definitions.cICalParameter_RELATED_END
+ )[not trigger_start]
+ )
</ins><span class="cx"> prop.addParameter(attr)
</span><span class="cx"> self.addProperty(prop)
</span><span class="cx">
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendaroutputfilterpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/outputfilter.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/outputfilter.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/outputfilter.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> # Test to see if sub-component type can be written out
</span><span class="cx"> def testSubComponent(self, oftype):
</span><span class="cx"> return self.mAllSubComponents or (self.mSubComponents is not None) \
</span><del>- and oftype in self.mSubComponents
</del><ins>+ and oftype in self.mSubComponents
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def hasSubComponentFilters(self):
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendarperiodpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/period.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/period.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/period.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">
</span><span class="cx"> def __lt__(self, comp):
</span><span class="cx"> return self.mStart < comp.mStart \
</span><del>- or (self.mStart == comp.mStart) and self.mEnd < comp.mEnd
</del><ins>+ or (self.mStart == comp.mStart) and self.mEnd < comp.mEnd
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> @classmethod
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendartestsutilspy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/tests/utils.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/tests/utils.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/tests/utils.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -25,5 +25,6 @@
</span><span class="cx"> def setUp(self):
</span><span class="cx"> TimezoneDatabase.createTimezoneDatabase(None)
</span><span class="cx">
</span><ins>+
</ins><span class="cx"> def tearDown(self):
</span><span class="cx"> TimezoneDatabase.clearTimezoneDatabase()
</span></span></pre></div>
<a id="PyCalendartrunksrcpycalendarvcardteststest_cardpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/pycalendar/vcard/tests/test_card.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/pycalendar/vcard/tests/test_card.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/pycalendar/vcard/tests/test_card.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">
</span><span class="cx"> data = (
</span><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx"> ),
</span><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx"> ),
</span><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx"> ),
</span><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Picture;With;;;
</span><span class="cx"> FN:With Picture
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> UID:934731C6-1C95-4C40-BE1F-FA4215B2307B:ABPerson
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:934731C6-1C95-4C40-BE1F-FA4215B2307B:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1234 Golly Street;Sunnyside;CA;99999;USA
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx"> ),
</span><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> X-Test:Some\, text.
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -261,7 +261,7 @@
</span><span class="cx">
</span><span class="cx"> data = (
</span><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -272,8 +272,9 @@
</span><span class="cx"> item1.X-ABADR:us
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> END:VCARD
</span><del>-""".replace("\n", "\r\n"), (
-"""BEGIN:VCARD
</del><ins>+""".replace("\n", "\r\n"),
+ (
+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -286,9 +287,10 @@
</span><span class="cx"> item1.X-ABADR:us
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>- )),
</del><ins>+ )
+ ),
</ins><span class="cx"> (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -311,8 +313,9 @@
</span><span class="cx"> TEL;type=CELL:1-444-444-4445
</span><span class="cx"> item1.X-ABADR:us
</span><span class="cx"> END:VCARD
</span><del>-""".replace("\n", "\r\n"), (
-"""BEGIN:VCARD
</del><ins>+""".replace("\n", "\r\n"),
+ (
+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -325,7 +328,7 @@
</span><span class="cx"> item1.X-ABADR:us
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E2:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -338,7 +341,8 @@
</span><span class="cx"> item1.X-ABADR:us
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><del>- )),
</del><ins>+ )
+ ),
</ins><span class="cx"> )
</span><span class="cx">
</span><span class="cx"> for item, results in data:
</span><span class="lines">@@ -394,7 +398,7 @@
</span><span class="cx"> def testParseFail(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -406,13 +410,13 @@
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCALENDAR
</del><ins>+ """BEGIN:VCALENDAR
</ins><span class="cx"> PRODID:-//mulberrymail.com//Mulberry v4.0//EN
</span><span class="cx"> VERSION:2.0
</span><span class="cx"> END:VCALENDAR
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BOGUS
</del><ins>+ """BOGUS
</ins><span class="cx"> BEGIN:VCARD
</span><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="lines">@@ -426,7 +430,7 @@
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BOGUS
</del><ins>+ """BOGUS
</ins><span class="cx">
</span><span class="cx"> BEGIN:VCARD
</span><span class="cx"> VERSION:3.0
</span><span class="lines">@@ -441,7 +445,7 @@
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -455,7 +459,7 @@
</span><span class="cx"> BOGUS
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> N:Thompson;Default;;;
</span><span class="cx"> FN:Default Thompson
</span><span class="lines">@@ -479,7 +483,7 @@
</span><span class="cx"> def testParseBlank(self):
</span><span class="cx">
</span><span class="cx"> data = (
</span><del>-"""
</del><ins>+ """
</ins><span class="cx"> BEGIN:VCARD
</span><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="lines">@@ -494,7 +498,7 @@
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""
</del><ins>+ """
</ins><span class="cx">
</span><span class="cx"> BEGIN:VCARD
</span><span class="cx"> VERSION:3.0
</span><span class="lines">@@ -510,7 +514,7 @@
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -526,7 +530,7 @@
</span><span class="cx">
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span><span class="lines">@@ -541,7 +545,7 @@
</span><span class="cx"> END:VCARD
</span><span class="cx"> """.replace("\n", "\r\n"),
</span><span class="cx">
</span><del>-"""BEGIN:VCARD
</del><ins>+ """BEGIN:VCARD
</ins><span class="cx"> VERSION:3.0
</span><span class="cx"> UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson
</span><span class="cx"> item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U
</span></span></pre></div>
<a id="PyCalendartrunksrczonaltzconvertpy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/zonal/tzconvert.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/zonal/tzconvert.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/zonal/tzconvert.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -319,7 +319,8 @@
</span><span class="cx"> endYear,
</span><span class="cx"> windowsAliases=windowsAliases,
</span><span class="cx"> filterzones=(
</span><del>- #"America/Montevideo",
- #"Europe/Paris",
- #"Africa/Cairo",
- ))
</del><ins>+ # "America/Montevideo",
+ # "Europe/Paris",
+ # "Africa/Cairo",
+ )
+ )
</ins></span></pre></div>
<a id="PyCalendartrunksrczonaltzverifypy"></a>
<div class="modfile"><h4>Modified: PyCalendar/trunk/src/zonal/tzverify.py (13799 => 13800)</h4>
<pre class="diff"><span>
<span class="info">--- PyCalendar/trunk/src/zonal/tzverify.py        2014-07-28 15:18:44 UTC (rev 13799)
+++ PyCalendar/trunk/src/zonal/tzverify.py        2014-07-29 14:53:07 UTC (rev 13800)
</span><span class="lines">@@ -269,12 +269,12 @@
</span><span class="cx"> )
</span><span class="cx">
</span><span class="cx"> skips = (
</span><del>- #"Europe/Sofia",
- #"Africa/Cairo",
</del><ins>+ # "Europe/Sofia",
+ # "Africa/Cairo",
</ins><span class="cx"> )
</span><span class="cx">
</span><span class="cx"> only = (
</span><del>- #"Europe/Lisbon",
</del><ins>+ # "Europe/Lisbon",
</ins><span class="cx"> )
</span><span class="cx">
</span><span class="cx"> checkcalendar1 = loadCalendarFromZoneinfo(zonedir1, skips, only, verbose, quiet)
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx"> start,
</span><span class="cx"> end,
</span><span class="cx"> filterTzids=(
</span><del>- #"America/Goose_Bay",
</del><ins>+ # "America/Goose_Bay",
</ins><span class="cx"> ),
</span><span class="cx"> verbose=verbose,
</span><span class="cx"> quiet=quiet,
</span></span></pre>
</div>
</div>
</body>
</html>