def comma_conjoin(inlist, conjunction):
    """Parses the elements of a list into a string joined by commas,
    with an 'and' before the final element.  Oxford comma!
    """
    if len(inlist) == 0:
        return ""
    elif len(inlist) == 1:
        return str(inlist.pop())
    elif len(inlist) == 2:
        return (" " + conjunction + " ").join(inlist)

    text = ", " + conjunction + " " + inlist.pop()
    text = ", ".join(inlist) + text

    return text