def get(self, bandid): user = users.get_current_user() if not user: self.redirect(users.create_login_url(self.request.uri)) logging.info('bandid: ' + bandid) try: namespace_manager.set_namespace(bandid) except: self.error(400); return conf = Configuration.get_by_id("singleton") if user not in conf.users: conf.users.append(user) # TODO: For now users are authenticated by default. This should # probably be a configuration parameter. conf.auth_users.append(user) conf.put() ranking_query = SongNode.query().order(-SongNode.vote_cnt) ranking_query = ranking_query.filter(SongNode.vote_cnt < conf.votes_to_graduate) songs = ranking_query.fetch(50) template_values = { 'is_admin': conf.admin == user, 'songs': songs, 'band_name': conf.name, 'bandid': bandid, 'logout_uri': users.create_login_url(self.request.uri), 'votes_to_graduate': conf.votes_to_graduate } template = JINJA_ENVIRONMENT.get_template('ranking.html') self.response.write(template.render(template_values))
def get(self, bandid): user = users.get_current_user() if not user: self.redirect(users.create_login_url(self.request.uri)) logging.info('bandid: ' + bandid) try: namespace_manager.set_namespace(bandid) except: self.error(400); return ranking_query = SongNode.query() ranking_query = ranking_query.filter(SongNode.graduated == False) week_old = datetime.datetime.now() - datetime.timedelta(days=7) ranking_query = ranking_query.filter(SongNode.last_update < week_old) stale_songs = ranking_query.fetch(keys_only=True) ndb.delete_multi(stale_songs) ranking_query = SongNode.query() ranking_query = ranking_query.filter(SongNode.vote_cnt == 0) abandoned_songs = ranking_query.fetch(keys_only=True) ndb.delete_multi(abandoned_songs) self.response.write("Purge successful")
def get(self, bandid): user = users.get_current_user() if not user: self.redirect(users.create_login_url(self.request.uri)) logging.info('bandid: ' + bandid) try: namespace_manager.set_namespace(bandid) except: self.error(400); return ranking_query = SongNode.query().order(-SongNode.vote_cnt) ranking_query = ranking_query.filter(SongNode.vote_cnt >= VOTES_TO_GRADUATE) songs = ranking_query.fetch() template_values = { 'songs': songs, 'bandid': bandid, 'logout_uri': users.create_login_url(self.request.uri) } template = JINJA_ENVIRONMENT.get_template('repertoire.html') self.response.write(template.render(template_values))