diff --git a/dedupe/variables/name.py b/dedupe/variables/name.py index 2e4dc13..f8ad785 100644 --- a/dedupe/variables/name.py +++ b/dedupe/variables/name.py @@ -97,19 +97,20 @@ def __init__(self, definition) : ('Household', self.compareHouseholds, FIRST_NAMES_A + LAST_NAMES_A, FIRST_NAMES_B + LAST_NAMES_B)) + block_parts = ('Surname',) elif self.name_type == 'company': self.components = (('Corporation', self.compareFields, CORPORATION),) + block_parts = ('CorporationName',) elif self.name_type is None: self.components = (('Person' , self.compareFields, PERSON), ('Household', self.compareHouseholds, FIRST_NAMES_A + LAST_NAMES_A, FIRST_NAMES_B + LAST_NAMES_B), ('Corporation', self.compareFields, CORPORATION)) + block_parts = ('Surname', 'CorporationName') else: raise ValueError("valid values of name type are 'person' and 'company'") - block_parts = ('Surname', 'CorporationName') - super(WesternNameType, self).__init__(definition, probablepeople.tag, block_parts) diff --git a/tests/test_name.py b/tests/test_name.py index c84956f..84b2e4a 100644 --- a/tests/test_name.py +++ b/tests/test_name.py @@ -40,6 +40,10 @@ def test_person_type(self): 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ]) + predicates_parts = (getattr(p, "part", None) for p in name.predicates) + assert not any(p == 'CorporationName' for p in predicates_parts) + + def test_company_type(self): name = WesternNameType({'field' : 'foo', 'name type' : 'company'}) print(name.comparator('James and Rita Allen', @@ -52,7 +56,9 @@ def test_company_type(self): 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) - + predicates_parts = (getattr(p, "part", None) for p in name.predicates) + assert not any(p == 'Surname' for p in predicates_parts) + def prettyPrint(variable, comparison) :