def make_fingerprint(engine, person): try: long_name = make_long_name(person) try: long_name = resolve_person(long_name) log.info(" -> %s" % long_name.strip()) except: log.error("Resolve did not work") pass Person = sl.get_table(engine, 'person') sl.upsert(engine, Person, { 'fingerprint': long_name, 'slug': url_slug(long_name), 'mdb_id': person['mdb_id'] }, unique=['mdb_id']) Rolle = sl.get_table(engine, 'rolle') sl.upsert(engine, Rolle, { 'mdb_id': person['mdb_id'], 'fingerprint': long_name }, unique=['mdb_id']) person['fingerprint'] = long_name except BadReference: log.error("Bad Reference %s", person) pass
def match_beitrag(engine, beitrag, url): beitrag_print = make_long_name(beitrag) log.info("Matching: %s", beitrag_print.encode('ascii', 'replace')) try: value = resolve_person(beitrag_print) if sl.find_one(engine, sl.get_table(engine, 'person'), fingerprint=value) is None: make_person(engine, beitrag, value, url) return value except BadReference: log.info("Beitrag person is unknown: %s", beitrag_print.encode('ascii', 'replace'))