summaryrefslogtreecommitdiffstats
path: root/process.py
blob: 937162b00131705ae33d3efb5e83e68560519a9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from lastfm import get_friends, init
import sys
import time


def process(filename):
    i = 0
    with open(filename) as ih:
        to_do = set(line.strip() for line in ih)
    done = set([])
    try:
        with open(filename + ".out") as ih:
            done = set(line.strip().split("\t")[0] for line in ih)
    except IOError:
        pass
    with open(filename + ".out", "a") as oh:
        for user in to_do - done:
            i += 1
            friends = get_friends(user)
            friends = [friend["name"] for friend in friends]
            if friends:
                oh.write(user.decode("utf8").encode("utf8") + "\t"
                         + u"\t".join(friends).encode("utf8") + "\n")
            time.sleep(0.1)

if __name__ == "__main__":
    init(sys.argv[1])
    process(sys.argv[2])