# HG changeset patch # User Paul Boddie # Date 1423422467 -3600 # Node ID 0583da64fbdabb801a95ef69ec59643ab9f1ac6c # Parent 2d99e19c0cc3a33de2cb027bdc6f71e7b643be83 Handle missing end datetimes when editing events. diff -r 2d99e19c0cc3 -r 0583da64fbda imip_manager.py --- a/imip_manager.py Sun Feb 08 20:06:37 2015 +0100 +++ b/imip_manager.py Sun Feb 08 20:07:47 2015 +0100 @@ -692,7 +692,7 @@ else: dtstart, dtstart_attr = obj.get_datetime_item("DTSTART") - dtend, dtend_attr = None, None + dtend, dtend_attr = None, {} if args.get("dtend-control", [None])[0] == "enable": t = self.handle_date_controls("dtend") @@ -707,7 +707,7 @@ if dtend and not isinstance(dtend, datetime): dtend -= timedelta(1) - if isinstance(dtend, datetime) or dtstart != dtend: + if dtend and (isinstance(dtend, datetime) or dtstart != dtend): page.input(name="dtend-control", type="radio", value="enable", id="dtend-enable", checked="checked") page.input(name="dtend-control", type="radio", value="disable", id="dtend-disable") else: @@ -738,8 +738,8 @@ if name == "DTSTART": dt, attr, event_tzid = dtstart, dtstart_attr, dtstart_attr.get("TZID", tzid) else: - dt, attr, event_tzid = dtend, dtend_attr, dtend_attr.get("TZID", tzid) - + dt, attr, event_tzid = dtend or dtstart, dtend_attr or dtstart_attr, (dtend_attr or dtstart_attr).get("TZID", tzid) + strvalue = self.format_datetime(dt, "full") value = format_datetime(dt)