Mailing list archives: March 2008

Site index · List index
Message listThread · Author · Date
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
gmail.com first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vobject to + # deal with unusual RRULEs correctly + if event.rdate[i] == dt: + del event.rdate[i] + + # ignore timezones and recurrence till tzinfo -&gt; PyICU is written + # give the repository a naive datetime, no timezone + try: + dt = else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + &quot;RECURRENCE-ID = %s&quot; % recurrenceID + else: </span><span class="cx"> eventItem = uidMatchItem </span><span class="rem">- uidMatchItem = None </span><span class="cx"> countUpdated += 1 </span><span class="rem">- else: - eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eventItem.icalUID = unicode(eventItem.itsUUID) - - logger.debug(&quot;eventItem is %s&quot; % str(eventItem)) </span><span class="add">+ else: + eventItem = pickKind.newItem(None, newItemParent) + countNew += 1 + eventItem.icalUID = event.uid[0].value + + + # vobject isn't meshing well with dateutil when dtstart isDate; + # dtstart is converted to a datetime for dateutil, but rdate + # isn't. To make dateutil happy, convert rdates which are dates to + # datetimes until vobject is fixed. + for i, rdate in enumerate(event.rdate): + if type(rdate) == date: + event.rdate[i] = datetime.datetime.combine(rdate, time(0)) + # get rid of RDATES that match dtstart, created by vo eventItem = pickKind.newItem(None, newItemParent) - countNew += 1 - if first: - eventItem.icalUID = event.uid[0].value - first = False - else: - eveen + # give the repository a naive datetime, no timezone + try: + dt = dt.astimezone(localtime).replace(tzinfo=None) + except ValueError: # astimezone will fail for naive datetimes + pass </span><span class="cx"> </span><span class="rem">- #Default to NOT any time - eventItem.anyTime = False - - eventItem.displayName = displayName - if isDate: - eventItem.allDay = True - eventItem.startTime = dt - if v Fri, 13 Feb, 06:31
Message listThread · Author · Date
Box list
Dec 20083
Nov 200812
Oct 200812
Sep 200815
Aug 200812
Jul 200812
Jun 200815
May 200812
Apr 200812
Mar 200815
Feb 200812
Jan 200812
Dec 200715
Nov 200712
Oct 200715
Sep 200712
Aug 20074