def find_str_match(value, options):
    """
    Given value string and a list of possibilities in the list of strings option
    find matches assuming value is an abbreviation. Return ValueError if no match 
    or multiple match is found.
    If one match is found return the matching string
    """
    if (type(value) is not str):
        raise TypeError("Invalid value.")
    matches = []
    for s in options:
        if (value == s[0:min([len(value),len(s)])]):
            if (len(matches) != 0):
                raise ValueError("Too short abbreviation: "+value)
            matches.append(s)
    if (len(matches) == 0):
        raise ValueError("No match for "+value)
    return matches[0]