def humanize_join(sequence, separator=',', spacing=' ',
                  conjunction='or', oxford_comma=True):
  """
  Join a list together using the English syntax of inserting a
  conjunction before the last item.
  
  Keyword Arguments:
    sequence -- The sequence to join together. Convert iterables to sequences
      using list() if necessary.
    separator -- The string to separate each item with.
    spacing -- A string appended to the separator to space out sequence
                members (such as a space in sentences).
    conjunction -- A string to insert between the last separator and the
      final item in the sequence.
    oxford_comma -- Boolean value that indicates whether or not to include
      the separator before the conjunction inserted before the last item
      in the sequence. Since there is no consensus on whether or not to use
      the Oxford comma, it is provided as an option.

  """
  lst = list(sequence)
  full_sep = separator + spacing
  string = full_sep.join(lst)
  if len(lst) > 1:
    last = lst[-1]
    if not oxford_comma or len(lst) == 2:
      start = string[:-len(last)-len(full_sep)]  # Remove the last comma
    else:
      start = string[:-len(last) - len(spacing)]
    return ''.join([start, spacing, conjunction, spacing, string[-len(last):]])
  else:
    return string