PRIVATE METHOD
    Checks to see if the value of a primitive or built-in container such as
    a list, dict, set, tuple etc is empty or none. None type is returned if the
    value is empty/None/False. Number data types that are 0 will return None.

    value : obj
        The primitive or built-in container to evaluate.

    Return: None or value

def _get_none_or_value(value):
    '''
    PRIVATE METHOD
    Checks to see if the value of a primitive or built-in container such as
    a list, dict, set, tuple etc is empty or none. None type is returned if the
    value is empty/None/False. Number data types that are 0 will return None.

    value : obj
        The primitive or built-in container to evaluate.

    Return: None or value
    '''
    if value is None:
        return None
    elif not value:
        return value
    # if it's a string, and it's not empty check for none
    elif isinstance(value, six.string_types):
        if value.lower() == 'none':
            return None
        return value
    # return None
    else:
        return None