def process_queues(self): while True: if len(self.results_queue) > 0: while len(self.results_queue) > 0: yield self.results_queue.pop() elif len(self.duns_queue) > 0: duns = self.duns_queue.pop() names = search_by_duns(duns) if names is not None: names = [n.upper() for n in names] new_names = list(set(names) - self.results_history) self.results_queue.extend(new_names) self.name_queue.extend(new_names) self.results_history.update(set(new_names)) elif len(self.name_queue) > 0: name = self.name_queue.pop() duns = search_by_name(name) if duns is not None: new_duns = list(set(duns) - self.results_history) self.results_queue.extend(new_duns) self.duns_queue.extend(new_duns) self.results_history.update(set(new_duns)) else: return
def find_revocation_set(self, name): # A set of name strings to set autocomplete_candidate = False revocation_set = set() duns_found = search_by_name(name.name) if duns_found is not None: for duns_number in duns_found: names_found = search_by_duns(duns_number) if names_found is not None: for name1 in names_found: if sorensen_index(name.name, name1) > 0.7: revocation_set.add(name1) return revocation_set