The function is an extension of the parse_lrvalue_string() API.
    The function takes a multi-line output/string of the format
    "Category: xyz
       name: foo
       id: bar
     Category: abc
       name: foox
       id: barx
    :
    "
    It splits the output based on the splitstring passed as
    argument (eg "Category"), and converts the individual
    lines of the form "name:  value" to a dictionary object with
    key value pairs. The key is built from the name (LV) part.
    eg "First Name: Behzad" --> dict[first_name] = "Behzad"

def parse_multi_lrvalue_string(search_string, split_string,
                               delimiter=":"):
    '''
    The function is an extension of the parse_lrvalue_string() API.
    The function takes a multi-line output/string of the format
    "Category: xyz
       name: foo
       id: bar
     Category: abc
       name: foox
       id: barx
    :
    "
    It splits the output based on the splitstring passed as
    argument (eg "Category"), and converts the individual
    lines of the form "name:  value" to a dictionary object with
    key value pairs. The key is built from the name (LV) part.
    eg "First Name: Behzad" --> dict[first_name] = "Behzad"
    '''
    dictlist = []
    for out in search_string.split(split_string):
        tdict = parse_lrvalue_string(split_string + out,
                                     delimiter=delimiter)
        dictlist.append(tdict)

    return dictlist