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/')
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/")
def game_over(request): print "I am a cookie and I am dying because the game is over" context = RequestContext(request, {}) user = request.user if request.COOKIES.has_key("game_id"): game_id = request.COOKIES.get("game_id") ds = EngineFactory("bing", api_key=BING_API_KEY) gm = RMIYCMechanic(ds) gm.retrieve_game(user, game_id) statistics = [] if user.is_authenticated(): user_profile = user.get_profile() user_profile.no_games_played += 1 user_profile.save() statistics.append( { "score": gm.get_current_score(), "no_queries": gm.get_no_of_queries_issued(), "no_successful_queries": gm.get_no_of_successful_queries_issued(), "category": gm.get_game_category_name(), "no_round": gm.get_final_round_no(), "no_successful_round": gm.get_no_rounds_completed(), } ) response = render_to_response("rmiyc/game_over.html", {"statistics": statistics}, context) response.delete_cookie("game_id") return response else: return render_to_response("rmiyc/game_over.html", context)
def game_over(request): print 'I am a cookie and I am dying because the game is over' context = RequestContext(request, {}) user = request.user if request.COOKIES.has_key('game_id'): game_id = request.COOKIES.get('game_id') ds = EngineFactory("bing", api_key=BING_API_KEY) gm = RMIYCMechanic(ds) #handle game over when request for this view made by jquery timer gm.retrieve_game(user, game_id) gm.game_over = 1 nac = gm.handle_game_over() gm.retrieve_game(user, game_id) statistics = [] if user.is_authenticated(): user_profile = user.get_profile() user_profile.no_games_played += 1 user_profile.save() statistics.append({ 'score': gm.get_current_score(), 'no_queries': gm.get_no_of_queries_issued(), 'no_successful_queries': gm.get_no_of_successful_queries_issued(), 'category': gm.get_game_category_name(), 'no_round': gm.get_final_round_no(), 'no_successful_round': gm.get_no_rounds_completed() }) response = render_to_response('pagefetch/game_over.html', { 'statistics': statistics, 'nac': nac }, context) response.delete_cookie('game_id') return response else: return render_to_response('pagefetch/game_over.html', context)
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/')
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/')
def game_over(request): print 'I am a cookie and I am dying because the game is over' context = RequestContext(request, {}) user = request.user if request.COOKIES.has_key('game_id'): game_id = request.COOKIES.get('game_id') ds = EngineFactory("bing", api_key=BING_API_KEY) gm = RMIYCMechanic(ds) #handle game over when request for this view made by jquery timer gm.retrieve_game(user, game_id) gm.game_over = 1 nac = gm.handle_game_over() gm.retrieve_game(user, game_id) statistics =[] if user.is_authenticated(): user_profile = user.get_profile() user_profile.no_games_played += 1 user_profile.save() statistics.append({'score': gm.get_current_score(), 'no_queries':gm.get_no_of_queries_issued(), 'no_successful_queries': gm.get_no_of_successful_queries_issued(), 'category':gm.get_game_category_name(), 'no_round': gm.get_final_round_no(), 'no_successful_round': gm.get_no_rounds_completed() }) response = render_to_response('pagefetch/game_over.html', {'statistics': statistics, 'nac': nac}, context) response.delete_cookie('game_id') return response else: return render_to_response('pagefetch/game_over.html', context)