diff options
Diffstat (limited to 'factories/INL_factory.py')
-rw-r--r-- | factories/INL_factory.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/factories/INL_factory.py b/factories/INL_factory.py index 42feea6..6b75f28 100644 --- a/factories/INL_factory.py +++ b/factories/INL_factory.py @@ -20,7 +20,8 @@ ENTITY_KEYS = { '151.9': 'name_langindic', '451:a': 'name_in_langs', '451:9': 'langs_langindic', - '550.a': 'type_of_place' + '550.a': 'type_of_place', + '667.a': 'comment' } @@ -41,6 +42,7 @@ class INLFactory(BasicFactory): def get_entity(self, raw_object, entity_keys=ENTITY_KEYS): record_key = get_record_key(raw_object) + #100 is person if record_key == '100': name = '' name_in_langs = dict() @@ -71,12 +73,14 @@ class INLFactory(BasicFactory): if field.text in name_in_langs: name_in_langs.get(field.text).append(name_diff) else: - name_in_langs.update({field.text: [name]}) + name_in_langs.update({field.text: [name_diff]}) elif tag == 'bio_data': bio_data.append(field.text) return entities.Person(eng_name, date_of_birth, name_in_langs, bio_data) + #110 is institue elif record_key == '110': return entities.Institution() + #151 is location elif record_key == '151': name_in_langs = dict() types_of_place = list() @@ -103,7 +107,7 @@ class INLFactory(BasicFactory): if field.text in name_in_langs: name_in_langs.get(field.text).append(name_diff) else: - name_in_langs.update({field.text: [name]}) + name_in_langs.update({field.text: [name_diff]}) return entities.Location(eng_name, types_of_place , name_in_langs) else: raise KeyError('Key {} was not recognized for factory {}'.format(entity_keys, type(self))) |