def __init__(self): db = utils.connect_db('Two_Pick_Too_Drunk') collection = db['user'] last_update_start = datetime.today() reviews = 'reviewer' clusters = 'reviewer_cluster' updated = (False,1) recommenderer = Recommender() while 1: users = collection.find({"last_beer_update":{"$gte":last_update_start}}) start_time = time.time() for user in users: print user['name'] (results,result_set) = recommenderer.recommender(user["Beers_Rated"], reviews, clusters, db) collection.update({"_id": user["_id"]}, {"$set": {"Recommendations": results}}) updated = (True,1) end_time = time.time() if updated[0]: print 'done with updation after %.3f seconds'%(end_time-start_time) last_update_start = datetime.now() if updated[0]: time.sleep(updated[1]*5); print 'Slept for '+str(updated[1]*10) + ' seconds' updated = (False,updated[1]) else: if updated[1] < 30: updated = (False,updated[1]+1) time.sleep(updated[1]*10); print 'Slept for '+str(updated[1]*10) + ' seconds' else: time.sleep(updated[1]*10); print 'Slept for '+str(updated[1]*10) + ' seconds'
def show_ratings(self, _args, ObannonsBeerDict): args = list() for arg in _args: args.append({"BeerId": arg, "Rating": float(_args[arg][0])}) user_ratings = args db = utils.connect_db("Two_Pick_Too_Drunk") reviews = "obannons_reviews" clusters = "obannons_reviews_cluster" recommenderer = Recommender() (results, result_set) = recommenderer.recommender(user_ratings, reviews, clusters, db) self.render("ratings.html", OBD=ObannonsBeerDict, results=results, result_set=result_set)
def show_ratings(self,_args,ObannonsBeerDict): args=list() for arg in _args: args.append({'BeerId':arg,'Rating':float(_args[arg][0]) }) user_ratings = args db = utils.connect_db('Two_Pick_Too_Drunk') reviews = 'obannons_reviews' clusters = 'obannons_reviews_cluster' recommenderer = Recommender() (results,result_set) = recommenderer.recommender(user_ratings, reviews, clusters, db, 0, 15) self.render("ratings.html",OBD=ObannonsBeerDict,results=results, result_set = result_set)
def get_Recommendations(self): start_time = time.time() print "starting" user= self.get_current_user() db = utils.connect_db('Two_Pick_Too_Drunk') reviews = 'reviewer' clusters = 'reviewer_cluster' recommenderer = Recommender() (results,result_set) = recommenderer.recommender(user.Beers_Rated, reviews, clusters, db) end_time = time.time() print 'done with updation after %.3f seconds'%(end_time-start_time)
def __init__(self): db = utils.connect_db('Two_Pick_Too_Drunk') collection = db['user'] last_update_start = datetime(2012, 12, 6) reviews = 'reviewer' clusters = 'reviewer_cluster' recommenderer = Recommender() while 1: users = collection.find({"last_beer_update":{"$gte":last_update_start}}) start_time = time.time() for user in users: (results,result_set) = recommenderer.recommender(user["Beers_Rated"], reviews, clusters, db) collection.update({"_id": user["_id"]}, {"$set": {"Recommendations": results}}) end_time = time.time() print 'done with updation after %.3f seconds'%(end_time-start_time) last_update_start = datetime.now() time.sleep(10)