Пример #1
0
 def test_validate_word_count(self):
     # test 10 randomly generated text
     for i in range(10):
         text, words = utils.generate_random_text()
         cnt = Counter()
         for word in text.split():
             if word not in words.split():
                 cnt[word] += 1
         self.assertTrue(utils.validate_word_count(text, words, dict(cnt)))
Пример #2
0
 def test_validate_word_count(self):
     # test 10 randomly generated text
     for i in range(10):
         text, words = utils.generate_random_text()
         cnt = Counter()
         for word in text.split():
             if word not in words.split():
                 cnt[word] += 1
         self.assertTrue(utils.validate_word_count(text, words, dict(cnt)))
Пример #3
0
def main():
    if request.method == "GET":
        if request.args.get("random"):
            token = utils.generate_token()
            text, words = utils.generate_random_text()
            db_add_text(text, words, token)
        else:
            text_model = db_get_random_text()
            if not text_model: # if nothing in DB, generate random text
                redirect("/?random=true")
            text, words, token = text_model
        resp = { "text": text, "words": words.split(), "token" : token }
        return jsonify(resp)
    else:
        if not request.json or not request.json.get("token") or \
           not request.json.get('text') or not request.json.get('words'):
            abort(400)
        data = request.json
        text_model = db_fetch_text(data.get('token'))
        if not text_model or text_model[0] != data.get('text') or \
           not utils.validate_word_count(text_model[0], text_model[1], data.get('words')):
            abort(400)
        return jsonify({"status": "success"})