def get(self): token = self.get_argument("access_token") expires = self.get_argument("expires") userID = fbMongo.getFacebookObject( token , "me", "")["id"] expireTime = time.time() + int(expires) connection.accessTokens.remove( { "userId" : userID } ) connection.accessTokens.insert( { "userId" : userID , "token" : token , "expires" : expireTime } ) self.write("<h5>Thanks!</h5>")
''' Created on May 7, 2012 @author: njordan ''' from pymongo import Connection import fbMongo print "This script will insert all your friends stuff into mongo collections" accessToken = raw_input("Access Token: ") #connect to mongodb connection = Connection("localhost", 27017).facebook userID = fbMongo.getFacebookObject(connection, accessToken, "me", "")["id"] print "Inserting Friends Music..." fbMongo.insertFriendsMusic( connection, accessToken, userID, "musicCollection" ) print "Inserting Friends Movies..." fbMongo.insertFriendsMovies( connection, accessToken, userID, "movieCollection" ) print "Inserting Friends Likes..." fbMongo.insertFriendsLikes( connection, accessToken, userID, "likeCollection" ) print "Finished! Goodbye"
filters = { "$and" : [] } filters["$and"].append( { "category" : { "$ne" : "Movie" } }) filters["$and"].append( { "category" : { "$ne" : "Musician/band"} }) filters["$and"].append( { "category" : { "$ne" : "Tv show" } }) print "-=-=-=-=-=- Likes -=-=-=-=-=-=-" db.likes.map_reduce( funcMap , funcReduce , "likesCounts" , query = filters ) results = db.likesCounts.find().sort( "value" , pymongo.DESCENDING ).limit(50) for x in results: value = fbMongo.getFacebookObject(accessToken, x["_id"], "" ) print value["name"] time.sleep(0.2) print "-=-=-=-=-=- Music -=-=-=-=-=-=-" db.likesCounts.drop() db.likes.map_reduce( funcMap , funcReduce , "likesCounts" , query = { "category" : "Musician/band" } ) results = db.likesCounts.find().sort( "value" , pymongo.DESCENDING ).limit(50) for x in results:
funcMap = Code("function map() { emit( this.userID , 1 ); }") funcReduce = Code("function reduce( key , values ) { var result = 0; values.forEach(function(value) {" + "result += value;" + "});" + "return result;" + "}" ) accessToken = raw_input("Enter authID: ") connection = Connection("localhost", 27017).facebook userAggregateCollection = connection.bestFriendsCounter music = fbMongo.getFacebookObject(connection, accessToken, "me", "music") userid = fbMongo.getFacebookObject(connection, accessToken, "me", "")["id"] for x in music: # { "artistID" : x["artistID"] } results = connection.musicCollection.find( { "artistID" : x["id"] } ) for y in results: userAggregateCollection.insert( { "userID" : y["userID"] } ) userAggregateCollection.map_reduce( funcMap , funcReduce , "bestFriendsResult" ) ownLikes = len(fbMongo.getFacebookObject(connection, accessToken, "me", "likes"))
connection.friends.drop() connection.sports.drop() connection.teams.drop() #for every user whos authenticated, get their ID's for x in connection.accessTokens.find(): userID = x["userId"] accessToken = x["token"] #get all their friends friends = fbMongo.getFacebookObject(accessToken, "me", "friends") #for every friend they have for y in friends: #get their ID friendId = y["id"] #get their music likes = fbMongo.getFacebookObject(accessToken, friendId , "likes") try: #insert their likes for z in likes: