def get_simple_contrapunctus(notes, duration):
    result = ''
    # Ensure the notes are in range
    normalised = [note for note in notes if note > 0 and note < 18]
    if not normalised:
        return result
    # Set the duration against the first note.
    result = NOTES[normalised[0]] + ' %d ' % duration
    # Translate all the others except the final two.
    result += ' '.join([NOTES[note] for note in normalised[1:-2]])

    # Ensure the penultimate note is a semitone away IFF moving up to the final
    # note. (Kinda hacky - would be easier in Lisp)
    final_note = normalised.pop()
    penultimate_note = normalised.pop()
    next_note = NOTES[penultimate_note]
    if final_note == penultimate_note + 1:
        # Check if the note isn't a C or an F
        if final_note not in [4, 7, 11, 14]:
            # insert 'is' to sharpen the pitch of the note by a semitone.
            next_note = next_note[0] + 'is' + next_note[1:]
    result += ' ' + next_note

    # Ensure the final note is a semibreve.
    result += ' ' + NOTES[final_note]
    if duration != 1:
        result += ' 1'

    # Tidy up double spaces.
    result = result.replace('  ', ' ')
    return result
Return the location of the ca bundle file. See the following article:
dataset/ETHPy150Open ntoll/foox/foox/lilypond.py/get_simple_contrapunctus--crossover with--dataset/ETHPy150Open saltstack/salt/salt/utils/http.py/get_ca_bundle