Ejemplo n.º 1
0
    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))
Ejemplo n.º 2
0
    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")
Ejemplo n.º 3
0
    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))