def key_row_from_node(node):
    heading = node.heading
    # find rootname
    rootname = find_rootname(node)
    if heading == rootname:
        rootname = ""
    # calc clocksum if CLOCK exists
    clocksum = ''
    clocklist = node.clock
    if clocklist:
        clocksum = sum([total_minutes(c.duration) for c in clocklist])
    closed = node.closed
    scheduled = node.scheduled
    effort = node.get_property('Effort')
    row = dict(
        heading=heading,
        closed=closed and closed.start.strftime('%a %d %b %H:%M'),
        scheduled=scheduled and scheduled.start.strftime('%a %d %b %H:%M'),
        effort=effort and minutestr(effort),
        clocksum=clocksum and minutestr(clocksum),
        rootname=rootname,
        )
    return (closed.start if closed else None, row)
Return three tuple (key, row) whose elemens are
dataset/ETHPy150Open tkf/orgviz/orgviz/dones.py/key_row_from_node