def get_node_name_parts(obj_name):
    """
    Breaks different Maya node name parts and returns them:
        - objectName: a:a:grpA|a:a:grpB|a:b:pSphere1
        - long_prefix: a:a:grpA|a:a:grpB
        - namespace: 'a:b
        - basename': 'pSphere1'
    :param obj_name: str, name of Maya node
    :return: tuple(str, str, str), tuple with long_prefix, namespace and basename
    """

    if '|' in obj_name:
        obj_name = str(obj_name)
        long_name_parts = obj_name.split('|')
        long_prefix = ''.join(long_name_parts[:-1])
        short_name = long_name_parts[-1]
    else:
        short_name = obj_name
        long_prefix = ''

    if ':' in short_name:
        namespace_parts = short_name.split(':')
        base_name = namespace_parts[-1]
        namespace = ':'.join(namespace_parts[:-1])
    else:
        base_name = short_name
        namespace = ''

    return long_prefix, namespace, base_name