from sixdegrees import SixDegrees

s = SixDegrees()

# Go through each level and get titles and subjects for as many of the ISBNs as possible using the Open Library API

for level in [1,2,3,4,5,6,7]:
    isbns = s.get_related(level)
    for isbn in isbns:
        results = s.ol_lookup_isbn_10(isbn)
        # Lazy - assume first result is most relevant
        if results:
            result = results[0]
            s.r.incr("tally:%s" % level)
            s.r.set("isbn:%s" % isbn, result.get("title") )
            print result.get("title")
            subjs = result.get("subjects", [])
            if subjs:
                for subj in subjs:
                    print subj
                    s.r.sadd("subj:%s" % level, subj)
        else:
            s.r.incr("misses:%s" % level)
for level in [1,2,3,4,5,6,7]:
    print "Level %s" % level
    print "Sample Titles:"
    for isbn in s.get_related(level):
        if s.r.get("isbn:%s" % isbn):
            print s.r.get("isbn:%s" % isbn)
    print "Subject areas:"
    print "Number of subjects: %s" % s.r.scard("subj:%s" % level)