iCal import fails because isinstance compare start to 'datetime' instead of 'datetime.datetime'.  Also, use is_datetime to check if an element is a datetime.datetime