def getGameHighScores(game, count=10): """Returns high Scores for a Game. """ logging.info('##################### getGameHighScores ##################') ref_scores = game.scores.order('-points').fetch(count) deref_scores = utils.prefetch_refprops(ref_scores, models.Score.player) return deref_scores
def getUserCheckins(user, count=10): """Returns Checkins for a User. """ # Data format: # [{'id':id, # 'player': # {'name': name, 'fb_id': fb_id}, # 'badges': # [{'name':name,'key_name':key_name,'image_url':image_url,'banner_url':banner_url}, # {'name':name,'key_name':key_name,'image_url':image_url,'banner_url':banner_url}], # 'created': '3 minutes ago', # 'game': # {'name': name,'mid':mid,'bgg_id':bgg_id,'bgg_image_url':bgg_url,'image_url':image_url}, # 'message': 'message # 'gamelog': # {'note':note, # [{'winner':boolean, 'points':int, 'name':player, 'fb_id':fb_id}, # {'winner':boolean, 'points':int, 'name':player, 'fb_id':fb_id}] # } # }] q_checkins = user.checkins.order('-created').fetch(count) deref_checkins = utils.prefetch_refprops(q_checkins, models.Checkin.game) checkins = [] for c in deref_checkins: checkin = simplejson.loads(c.json) checkin['created'] = c.created checkin['id'] = str(c.key().id()) checkins.append(checkin) logging.info('############# checkin ='+str(checkin)+' ##############') return checkins
def getLatestCheckins(count=10): """Returns lastest Checkins. """ logging.info('##################### getLatestCheckins ##################') # Data format: # [{'id':id, # 'player': # {'name': name, 'fb_id': fb_id}, # 'badges': # [{'name':name,'key_name':key_name,'image_url':image_url,'banner_url':banner_url}, # {'name':name,'key_name':key_name,'image_url':image_url,'banner_url':banner_url}], # 'created': '3 minutes ago', # 'game': # {'name': name, 'mid': mid, "bgg_id": bgg_id, "bgg_image_url": url, 'image_url':image_url}, # 'message': 'message # }] q = models.Checkin.all() q.order('-created') q_checkins = q.fetch(count) deref_checkins = utils.prefetch_refprops(q_checkins, models.Checkin.game) checkins = [] for c in deref_checkins: checkin = simplejson.loads(c.json) checkin['created'] = c.created checkin['id'] = str(c.key().id()) checkins.append(checkin) logging.info('############# checkin ='+str(checkin)+' ##############') return checkins
def getScoresFromFriends(profile_user, count=10): """Returns Scores for a User that were added by their friends. """ logging.info('##################### getScoresFromFriends ###############') query = profile_user.scores.filter('author !=', profile_user) ref_scores = query.fetch(count) deref_scores = utils.prefetch_refprops(ref_scores, models.Score.author, models.Score.game) return deref_scores
def getLatestCheckins(limit, time_since): """Returns lastest Checkins as a JSON Response. """ logging.info(TRACE+'getLatestCheckins()') q = models.Checkin.all() q.order("-created") q_checkins = q.fetch(limit) deref_checkins = utils.prefetch_refprops(q_checkins, models.Checkin.game) data = [] for c in deref_checkins: checkin = simplejson.loads(c.json) checkin["created"] = str(c.created) checkin["id"] = str(c.key().id()) data.append(checkin) r = API200 r['result'] = data return r
def getLatestUserCheckins(limit, time_since, fb_id): """Returns lastest Checkins for a given User as a JSON Response. """ logging.info(TRACE+'getLatestUserCheckins()') user_key = db.Key.from_path('User', fb_id) timestamp = datetime.datetime.fromtimestamp(time_since) q = models.Checkin.all() q.filter('created >', timestamp).filter('player =', user_key) q.order('-created', ) q_checkins = q.fetch(limit) deref_checkins = utils.prefetch_refprops(q_checkins, models.Checkin.game) data = [] for c in deref_checkins: checkin = simplejson.loads(c.json) checkin["created"] = str(c.created) checkin["id"] = str(c.key().id()) data.append(checkin) r = API200 r['result'] = data return r
def getUser(fb_id): """Returns JSON formated User Response. """ logging.info(TRACE+'getUser('+fb_id+')') user = models.User.get_by_key_name(fb_id) q_checkins = user.checkins.order('-created').fetch(10) deref_checkins = utils.prefetch_refprops(q_checkins, models.Checkin.game) checkins = [] for c in deref_checkins: checkin = simplejson.loads(c.json) checkin['created'] = str(c.created) checkin['id'] = str(c.key().id()) checkins.append(checkin) data = {'name': user.name, 'fb_id': fb_id, 'fb_profile_url': user.fb_profile_url, 'fb_location_id': user.fb_location_id, 'fb_location_name': user.fb_location_name, 'checkins': checkins} r = API200 r['result'] = data return r
def query_from(cls, author): query = Post.all().filter("author =", author) objs = query.order("-created").fetch(100) prefetch_refprops(objs, Post.author) return objs
def query_for(cls, reader): query = PostIndex.all(keys_only=True).filter("b =", reader.key()) indices = query.order("-created").fetch(100) objs = db.get([i.parent() for i in indices]) prefetch_refprops(objs, Post.author) return objs