def solutionPage(): ordering = request.get_json().get("ordering") page = int(request.get_json().get("page")) -1 problem = Problem.query.filter_by(id = request.get_json().get("problemId")).first() if ordering == "CYL": return jsonify({"results" :Solution.simpleJsonify(Solution.query.filter_by(problemId = problem.id).order_by(db.desc(Solution.cycles)).offset(page*12).limit(12))}) elif ordering == "NOD": return jsonify({"results" :Solution.simpleJsonify(Solution.query.filter_by(problemId = problem.id).order_by(db.desc(Solution.nodeCount)).offset(page*12).limit(12))}) elif ordering == "INS": return jsonify({"results" :Solution.simpleJsonify(Solution.query.filter_by(problemId = problem.id).order_by(db.desc(Solution.instructionCount)).offset(page*12).limit(12))})
def solution_list(): user = Account.query.filter_by(name = request.get_json().get("user")).first() problem_id = request.get_json().get("problem_id") ordering = request.get_json().get("ordering") solution_query = None if(problem_id == -1): if ordering == "CYL": solution_query = Solution.query.filter(Solution.userId == user.id, Problem.identifier == None).join(Problem, Problem.id == Solution.problemId).order_by(db.desc(Solution.cycles)) elif ordering == "NOD": solution_query = Solution.query.filter(Solution.userId == user.id, Problem.identifier == None).join(Problem, Problem.id == Solution.problemId).order_by(db.desc(Solution.nodeCount)) elif ordering == "INS": solution_query = Solution.query.filter(Solution.userId == user.id, Problem.identifier == None).join(Problem, Problem.id == Solution.problemId).order_by(db.desc(Solution.instructionCount)) else: if ordering == "CYL": solution_query = Solution.query.filter(Solution.userId == user.id , Solution.problemId == problem_id).order_by(db.desc(Solution.cycles)) elif ordering == "NOD": solution_query = Solution.query.filter(Solution.userId == user.id , Solution.problemId == problem_id).order_by(db.desc(Solution.nodeCount)) elif ordering == "INS": solution_query = Solution.query.filter(Solution.userId == user.id , Solution.problemId == problem_id).order_by(db.desc(Solution.instructionCount)) return jsonify({"results" : Solution.simpleJsonify(solution_query)})