def run():
    c = Counter()
    for fn in friends_ids_files():
        with open(fn) as f:
            c.update(k.strip() for k in f.readlines())
    top_ids = [str(f_id) for f_id, f_count in c.most_common() if f_count >= MIN_FRIEND_OCCURENCES]
    # now merge top_ids with congress_twitter_ids()
    cong_ids = [str(cid) for cid in congress_twitter_ids()]
    all_ids = list(set(top_ids + cong_ids))
    with open(TOP_FRIENDS_IDS_PATH, 'w') as o:
        o.write("\n".join(all_ids))
def run():
    c = csv.writer(open(COMPILED_TOP_FRIENDSHIPS_PATH, "w"))
    c.writerow(["user_screen_name", "friend_id"])
    all_top_ids = set([k.strip() for k in open(TOP_FRIENDS_IDS_PATH).readlines()])
    for fn in friends_ids_files():
        # get the user screen_name from the filename (icky)
        user_screen_name = splitext(basename(fn))[0]
        with open(fn) as f:
            _ids = set([k.strip() for k in f.readlines()])
            # filter ids for ids that are in all_top_ids
            top_friends_ids = all_top_ids.intersection(_ids)
            for t_id in top_friends_ids:
                c.writerow([user_screen_name, t_id])