Exemple #1
0
 def test_init(self):
     n = Name(self.name)
     assert_equal(n.title_list, [''])
     assert_equal(n.first_list, ['robert'])
     assert_equal(n.middle_list, ['e'])
     assert_equal(n.last_list, ['liebowitz'])
     assert_equal(n.suffix_list, [''])
     assert_equal(n.nickname_list, [''])
Exemple #2
0
def match(fullname1, fullname2, strictness="default", options=None):
    """
    Takes two names and returns true if they describe the same person.

    :param string fullname1: first human name
    :param string fullname2: second human name
    :param string strictness: strictness settings to use
    :param dict options: custom strictness settings updates
    :return bool: the names match
    """

    if options is not None:
        settings = deepcopy(SETTINGS[strictness])
        deep_update_dict(settings, options)
    else:
        settings = SETTINGS[strictness]

    n1 = Name(fullname1)
    n2 = Name(fullname2)

    return n1.deep_compare(n2, settings)
Exemple #3
0
def match(fullname1, fullname2, strictness='default', options=None):
    """
    Takes two names and returns true if they describe the same person.

    :param string fullname1: first human name
    :param string fullname2: second human name
    :param string strictness: strictness settings to use
    :param dict options: custom strictness settings updates
    :return bool: the names match
    """

    if options is not None:
        settings = deepcopy(SETTINGS[strictness])
        deep_update_dict(settings, options)
    else:
        settings = SETTINGS[strictness]

    name1 = Name(fullname1)
    name2 = Name(fullname2)

    return name1.deep_compare(name2, settings)
Exemple #4
0
def ratio(fullname1, fullname2, strictness="default", options=None):
    """
    Takes two names and returns true if they describe the same person.
    Uses difflib's sequence matching on a per-field basis for names

    :param string fullname1: first human name
    :param string fullname2: second human name
    :param string strictness: strictness settings to use
    :param dict options: custom strictness settings updates
    :return int: sequence ratio match (out of 100)
    """

    if options is not None:
        settings = deepcopy(SETTINGS[strictness])
        deep_update_dict(settings, options)
    else:
        settings = SETTINGS[strictness]

    n1 = Name(fullname1)
    n2 = Name(fullname2)

    return n1.ratio_deep_compare(n2, settings)
Exemple #5
0
def ratio(fullname1, fullname2, strictness='default', options=None):
    """
    Takes two names and returns true if they describe the same person.
    Uses difflib's sequence matching on a per-field basis for names

    :param string fullname1: first human name
    :param string fullname2: second human name
    :param string strictness: strictness settings to use
    :param dict options: custom strictness settings updates
    :return int: sequence ratio match (out of 100)
    """

    if options is not None:
        settings = deepcopy(SETTINGS[strictness])
        deep_update_dict(settings, options)
    else:
        settings = SETTINGS[strictness]

    name1 = Name(fullname1)
    name2 = Name(fullname2)

    return name1.ratio_deep_compare(name2, settings)