def get(self): logging.info('Generate LeaderboardStats') cheevers = Cheever.query().order(-Cheever.numScore).fetch(10) for pos in range(0, cheevers.__len__()): leaderboardPos_key = ndb.Key('LeaderboardStats', str(pos) + 's') leaderboardPos = leaderboardPos_key.get() if not leaderboardPos: leaderboardPos = LeaderboardStats(key=leaderboardPos_key) leaderboardPos.populate( username=cheevers[pos].username, statType='score', value=cheevers[pos].numScore ) leaderboardPos.put() cheevers = Cheever.query().order(-Cheever.numContribs).fetch(10) for pos in range(0, cheevers.__len__()): leaderboardPos_key = ndb.Key('LeaderboardStats', str(pos) + 'st') leaderboardPos = leaderboardPos_key.get() if not leaderboardPos: leaderboardPos = LeaderboardStats(key=leaderboardPos_key) leaderboardPos.populate( username=cheevers[pos].username, statType='contribution', value=cheevers[pos].numContribs ) leaderboardPos.put() memcache.delete('contribStats') memcache.delete('scoreStats')