Example #1
0
def search(request):
        #get current user
        user = request.user
        result_list = []

        #create game avatar
        avatar = GameAvatar('Search')
        if request.user.is_authenticated():
            avatar.update(user=user)

        if request.COOKIES.has_key('game_id'):
            ds = EngineFactory("bing", api_key=BING_API_KEY)
            gm = RMIYCMechanic(ds)
            game_id = request.COOKIES.get('game_id')
            gm.retrieve_game(user, game_id)
            if request.method == 'GET':
                query = request.GET['query'].strip()
                #Augement query
                #this limits querying to www.gla.ac.uk
                #query += ' site:gla.ac.uk '
            if query:
                result_list = gm.get_search_results(query,top=10)

            gm.handle_query(query)
            gm.update_game()
            avatar.update(current_game=gm.game)
            # get the last query score
            objects = []
            for item in result_list:
                objects.append({"title": item.title, "link": item.url, "summary": item.summary})
            json_objects = json.dumps(objects)
            last_score = gm.get_last_query_score()
            current_score = gm.get_current_score()
            msg = avatar.get()
            if gm.is_game_over():
                gm.handle_game_over()
                Json_results = {
                    "results": json_objects, "score": last_score, "is_game_over": 1, "url_to_find":gm.get_current_page().url,
                    "no_round": gm.get_round_no(), "no_successful_round": gm.get_no_rounds_completed(),
                    "no_of_queries_issued_for_current_page": gm.get_no_of_queries_issued_for_current_page(),
                    "no_remaining_rounds": gm.get_remaining_rounds(), "current_score": current_score,
                    "avatar": msg
                }
            else:
                Json_results = {
                    "results": json_objects, "score": last_score, "is_game_over": 0, "url_to_find":gm.get_current_page().url,
                    "no_round": gm.get_round_no(), "no_successful_round": gm.get_no_rounds_completed(),
                    "no_of_queries_issued_for_current_page": gm.get_no_of_queries_issued_for_current_page(),
                    "no_remaining_rounds": gm.get_remaining_rounds(), "current_score": current_score,
                    "avatar": msg
                }
            data = json.dumps(Json_results)
            return HttpResponse(data, mimetype='application/json')
        else:
            # the game has not been created yet
            # redirect to play view
            return HttpResponseRedirect('/pagefetch/cat_picker/')
Example #2
0
def display_next_page(request):

    user = request.user
    avatar = GameAvatar("Skip")
    if request.user.is_authenticated():
        avatar.update(user=user)

    if request.COOKIES.has_key("game_id"):
        ds = EngineFactory("bing", api_key=BING_API_KEY)
        gm = RMIYCMechanic(ds)
        game_id = request.COOKIES.get("game_id")
        gm.retrieve_game(user, game_id)
        gm.take_points()
        gm.update_game()
        p = gm.get_current_page()
        current_score = gm.get_current_score()
        quoted_screenshot = str(p.screenshot)
        msg = avatar.get()
        if gm.is_game_over():
            gm.handle_game_over()
            objects = {
                "screenshot": quoted_screenshot,
                "is_game_over": 1,
                "no_round": gm.get_round_no(),
                "no_successful_round": gm.get_no_rounds_completed(),
                "no_of_queries_issued_for_current_page": gm.get_no_of_queries_issued_for_current_page(),
                "no_remaining_rounds": gm.get_remaining_rounds(),
                "current_score": current_score,
                "avatar": msg,
            }
        else:
            gm.set_next_page()
            gm.update_game()
            p = gm.get_current_page()
            current_score = gm.get_current_score()
            quoted_screenshot = str(p.screenshot)
            objects = {
                "screenshot": quoted_screenshot,
                "is_game_over": 0,
                "no_round": gm.get_round_no(),
                "no_successful_round": gm.get_no_rounds_completed(),
                "no_of_queries_issued_for_current_page": gm.get_no_of_queries_issued_for_current_page(),
                "no_remaining_rounds": gm.get_remaining_rounds(),
                "current_score": current_score,
                "avatar": msg,
            }
        data = json.dumps(objects)
        return HttpResponse(data, mimetype="application/json")
    else:
        # the game has not been created yet
        # redirect to play view
        print "the game has not been created yet"
        return HttpResponseRedirect("/rmiyc/cat_picker/")
Example #3
0
def display_next_page(request):

    user = request.user
    avatar = GameAvatar('Skip')
    if request.user.is_authenticated():
        avatar.update(user=user)

    if request.COOKIES.has_key('game_id'):
        ds = EngineFactory("bing", api_key=BING_API_KEY)
        gm = RMIYCMechanic(ds)
        game_id = request.COOKIES.get('game_id')
        gm.retrieve_game(user, game_id)
        gm.take_points()
        gm.update_game()
        p = gm.get_current_page()
        current_score = gm.get_current_score()
        quoted_screenshot = str(p.screenshot)
        msg = avatar.get()
        if gm.is_game_over():
            gm.handle_game_over()
            objects = {
                "screenshot":
                quoted_screenshot,
                "is_game_over":
                1,
                "no_round":
                gm.get_round_no(),
                "no_successful_round":
                gm.get_no_rounds_completed(),
                "no_of_queries_issued_for_current_page":
                gm.get_no_of_queries_issued_for_current_page(),
                "no_remaining_rounds":
                gm.get_remaining_rounds(),
                "current_score":
                current_score,
                "avatar":
                msg
            }
        else:
            gm.set_next_page()
            gm.update_game()
            p = gm.get_current_page()
            current_score = gm.get_current_score()
            quoted_screenshot = str(p.screenshot)
            objects = {
                "screenshot":
                quoted_screenshot,
                "is_game_over":
                0,
                "no_round":
                gm.get_round_no(),
                "no_successful_round":
                gm.get_no_rounds_completed(),
                "no_of_queries_issued_for_current_page":
                gm.get_no_of_queries_issued_for_current_page(),
                "no_remaining_rounds":
                gm.get_remaining_rounds(),
                "current_score":
                current_score,
                "avatar":
                msg
            }
        data = json.dumps(objects)
        return HttpResponse(data, mimetype='application/json')
    else:
        # the game has not been created yet
        # redirect to play view
        print 'the game has not been created yet'
        return HttpResponseRedirect('/pagefetch/cat_picker/')
Example #4
0
def search(request):
    #get current user
    user = request.user
    result_list = []

    #create game avatar
    avatar = GameAvatar('Search')
    if request.user.is_authenticated():
        avatar.update(user=user)

    if request.COOKIES.has_key('game_id'):
        ds = EngineFactory("bing", api_key=BING_API_KEY)
        gm = RMIYCMechanic(ds)
        game_id = request.COOKIES.get('game_id')
        gm.retrieve_game(user, game_id)
        if request.method == 'GET':
            query = request.GET['query'].strip()
            #Augement query
            #this limits querying to www.gla.ac.uk
            #query += ' site:gla.ac.uk '
        if query:
            result_list = gm.get_search_results(query, top=10)

        gm.handle_query(query)
        gm.update_game()
        avatar.update(current_game=gm.game)
        # get the last query score
        objects = []
        for item in result_list:
            objects.append({
                "title": item.title,
                "link": item.url,
                "summary": item.summary
            })
        json_objects = json.dumps(objects)
        last_score = gm.get_last_query_score()
        current_score = gm.get_current_score()
        msg = avatar.get()
        if gm.is_game_over():
            gm.handle_game_over()
            Json_results = {
                "results":
                json_objects,
                "score":
                last_score,
                "is_game_over":
                1,
                "url_to_find":
                gm.get_current_page().url,
                "no_round":
                gm.get_round_no(),
                "no_successful_round":
                gm.get_no_rounds_completed(),
                "no_of_queries_issued_for_current_page":
                gm.get_no_of_queries_issued_for_current_page(),
                "no_remaining_rounds":
                gm.get_remaining_rounds(),
                "current_score":
                current_score,
                "avatar":
                msg
            }
        else:
            Json_results = {
                "results":
                json_objects,
                "score":
                last_score,
                "is_game_over":
                0,
                "url_to_find":
                gm.get_current_page().url,
                "no_round":
                gm.get_round_no(),
                "no_successful_round":
                gm.get_no_rounds_completed(),
                "no_of_queries_issued_for_current_page":
                gm.get_no_of_queries_issued_for_current_page(),
                "no_remaining_rounds":
                gm.get_remaining_rounds(),
                "current_score":
                current_score,
                "avatar":
                msg
            }
        data = json.dumps(Json_results)
        return HttpResponse(data, mimetype='application/json')
    else:
        # the game has not been created yet
        # redirect to play view
        return HttpResponseRedirect('/pagefetch/cat_picker/')