Esempio n. 1
0
def leaderboard():
    scores = QuizBowl.get_scores()
    sorted_scores = sorted(scores.items(), key=itemgetter(1), reverse=True)
    num_questions = QuizBowl.num_questions()
    return flask.render_template('leaderboard.html',
                                 scores=sorted_scores,
                                 num_questions=num_questions)
Esempio n. 2
0
 def get(self):
     parser = reqparse.RequestParser()
     parser.add_argument('api_key', type=str)
     parser.add_argument('user_id', type=int)
     args = parser.parse_args()
     check_auth(args['user_id'], args['api_key'])
     return jsonify({'question_statuses': QuizBowl.question_statuses(args['user_id'])})
Esempio n. 3
0
 def post(self, question_id, position):
     """Handle word requests"""
     print("Question_id: {} Position: {}".format(repr(question_id), repr(position)))
     user_id = int(request.form['user_id'])
     api_key = request.form['api_key']
     check_auth(user_id, api_key)
     word = QuizBowl.handle_word_request(user_id, question_id, position)
     return jsonify({'word': word})
Esempio n. 4
0
 def get(self):
     parser = reqparse.RequestParser()
     parser.add_argument('api_key', type=str)
     parser.add_argument('user_id', type=int)
     args = parser.parse_args()
     check_auth(args['user_id'], args['api_key'])
     return jsonify(
         {'question_statuses': QuizBowl.question_statuses(args['user_id'])})
Esempio n. 5
0
    def post(self, question_id):
        """Handle answers"""
        user_id = int(request.form['user_id'])
        api_key = request.form['api_key']
        guess = request.form['guess']
        check_auth(user_id, api_key)
        answer, correct = QuizBowl.submit_guess(user_id, question_id, guess)

        return jsonify({'correct': correct, 'answer': answer})
Esempio n. 6
0
 def post(self, question_id, position):
     """Handle word requests"""
     print("Question_id: {} Position: {}".format(repr(question_id),
                                                 repr(position)))
     user_id = int(request.form['user_id'])
     api_key = request.form['api_key']
     check_auth(user_id, api_key)
     word = QuizBowl.handle_word_request(user_id, question_id, position)
     return jsonify({'word': word})
Esempio n. 7
0
    def post(self, question_id):
        """Handle answers"""
        user_id = int(request.form['user_id'])
        api_key = request.form['api_key']
        guess = request.form['guess']
        check_auth(user_id, api_key)
        answer, correct = QuizBowl.submit_guess(user_id, question_id, guess)

        return jsonify({'correct': correct, 'answer': answer})
Esempio n. 8
0
def register():
    if 'credentials' not in flask.session:
        return flask.redirect(flask.url_for('oauth2callback'))

    credentials = client.OAuth2Credentials.from_json(flask.session['credentials'])
    if credentials.access_token_expired:
        return flask.redirect(flask.url_for('oauth2callback'))
    else:
        http_auth = credentials.authorize(httplib2.Http())
        account_service = discovery.build('oauth2', 'v2', http=http_auth)
        email = account_service.userinfo().get().execute()['email']
        api_key = generate_api_key()
        user = QuizBowl.create_user(email, api_key)
        return jsonify(**user)
Esempio n. 9
0
def register():
    if 'credentials' not in flask.session:
        return flask.redirect(flask.url_for('oauth2callback'))

    credentials = client.OAuth2Credentials.from_json(
        flask.session['credentials'])
    if credentials.access_token_expired:
        return flask.redirect(flask.url_for('oauth2callback'))
    else:
        http_auth = credentials.authorize(httplib2.Http())
        account_service = discovery.build('oauth2', 'v2', http=http_auth)
        email = account_service.userinfo().get().execute()['email']
        api_key = generate_api_key()
        user = QuizBowl.create_user(email, api_key)
        return jsonify(**user)
Esempio n. 10
0
 def get(self):
     return jsonify({'count': QuizBowl.num_questions()})
Esempio n. 11
0
 def get(self):
     return jsonify({'count': QuizBowl.num_questions()})
Esempio n. 12
0
 def get(self, question_id):
     return jsonify({'length': QuizBowl.question_length(question_id)})
Esempio n. 13
0
def check_auth(user_id, api_key):
    if not QuizBowl.check_auth(user_id, api_key):
        abort(401)
Esempio n. 14
0
def list_questions():
    return jsonify(**QuizBowl.list_questions())
Esempio n. 15
0
def leaderboard():
    scores = QuizBowl.get_scores()
    sorted_scores = sorted(scores.items(), key=itemgetter(1), reverse=True)
    num_questions = QuizBowl.num_questions()
    return flask.render_template('leaderboard.html', scores=sorted_scores, num_questions=num_questions)
Esempio n. 16
0
 def get(self, question_id):
     return jsonify({'length': QuizBowl.question_length(question_id)})
Esempio n. 17
0
from database import QuizBowl

if __name__ == "__main__":
    buzzes = QuizBowl.get_buzzes()
    with open('data/buzzes.csv', 'w') as f:
        for ii in sorted(buzzes):
            val = buzzes[ii]
            print("%i\t%i\t%i\t%s" % (ii[0], ii[1], val[0], val[1]), file=f)
Esempio n. 18
0
def check_auth(user_id, api_key):
    if not QuizBowl.check_auth(user_id, api_key):
        abort(401)
Esempio n. 19
0
def list_questions():
    return jsonify(**QuizBowl.list_questions())