def clean_desc(full_desc):
    """Parse full OSHA industry description into industry code, type and description
    """

    # OSHA descriptions are delimated by colons
    full_desc_split = full_desc.split(': ')

    # Check for errors
    if len(full_desc_split) < 2:
        # Check for case when no delimiter found
        raise Exception('No \':\' delimiter found:\n' + full_desc)
    elif len(full_desc_split) > 2:
        # If more than one delimiter found then assume latter delimiters
        # are part of the description
        new_list = []
        new_list.append(full_desc_split[0])
        new_list.append(': '.join(full_desc_split[1:]))
        full_desc_split = new_list

    # Assign full description components
    code_split = full_desc_split[0].split(' ')
    code = code_split[len(code_split) - 1]
    code_type = ' '.join(code_split[:-1])
    code_desc = full_desc_split[1]

    return [code, code_type, code_desc]