def add_person_circle(gr, person, passed_persons): log.debug("try read '%s' circle" % person) for knows in get_friends_of(person): log.debug("processing knows: '%s' " % knows) gr.add_edge(person.encode('utf-8'), knows.encode('utf-8')) if knows not in passed_persons: for knows_knows in get_friends_of(knows): gr.add_edge(knows.encode('utf-8'), knows_knows.encode('utf-8')) passed_persons.add(knows) passed_persons.add(person)
def second_circle(user): sc = read_data(user) if sc is None: sc = {} log.debug("try read '%s' first circle" % user) first_circle = set(get_friends_of(user)) for friend in first_circle: log.debug("processing knows: '%s' " % friend) for f_of_f in get_friends_of(friend): if f_of_f not in first_circle and f_of_f != user: sc[f_of_f] = sc.get(f_of_f, 0) + 1 write_data(sc, user) return sc