def METHOD_NAME(item):
    """Parse start and end datetimes as a naive datetime object."""
    month = item.xpath('.//div[@class="event-month"]/text()').get().strip()
    day = item.xpath('.//div[@class="event-day"]/text()').get().strip()
    year = item.xpath('.//div[@class="event-year"]/text()').get().strip()
    ddate = datetime.strptime("%s %s %s" % (month, day, year), "%b %d %Y").date()
    time_str = item.xpath('.//span[@class="event-time"]/text()').get()
    if time_str is None:
        return None, None
    times = time_str.strip().replace(".", "")
    if not ("a" in times or "p" in times) or "cancel" in times.lower():
        return datetime.combine(ddate, time()), None
    ttimes = times.split("-")
    ampm = ttimes[0].split(" ")[1]
    try:
        starttime = datetime.strptime(ttimes[0].strip(), "%I:%M %p").time()
    except ValueError:
        # Ignoring error with Halloween
        return None, None
    start = datetime.combine(ddate, starttime)
    if len(ttimes) > 1:
        if not ("a" in ttimes[1] or "p" in ttimes[1]):
            ttimes[1] = ttimes[1] + " " + ampm
        endtime = datetime.strptime(ttimes[1].strip(), "%I:%M %p").time()
        end = datetime.combine(ddate, endtime)
    else:
        end = None
    return start, end