<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _parse_cpe_name(cpe):
    '''
    Parse CPE_NAME data from the os-release

    Info: https://csrc.nist.gov/projects/security-content-automation-protocol/scap-specifications/cpe

    :param cpe:
    :return:
    '''
    part = {
        'o': 'operating system',
        'h': 'hardware',
        'a': 'application',
    }
    ret = {}
    cpe = (cpe or '').split(':')
    if len(cpe) > 4 and cpe[0] == 'cpe':
        if cpe[1].startswith('/'):  # WFN to URI
            ret['vendor'], ret['product'], ret['version'] = cpe[2:5]
            ret['phase'] = cpe[5] if len(cpe) > 5 else None
            ret['part'] = part.get(cpe[1][1:])
        elif len(cpe) == 13 and cpe[1] == '2.3':  # WFN to a string
            ret['vendor'], ret['product'], ret['version'], ret['phase'] = [x if x != '*' else None for x in cpe[3:7]]
            ret['part'] = part.get(cpe[2])

    return ret