Пример #1
0
def setShowLimits(problem_id, show_limits):
    problem = DBSession.query(Problem).filter(Problem.id == problem_id).first()

    problem.show_limits = show_limits
    with transaction.manager:
        DBSession.merge(problem)
    return "Ok"
Пример #2
0
def problem_generate_samples(request):
    try:
        checkCapability(request)
        problem = DBSession.query(EjudgeProblem).filter(EjudgeProblem.id == request.matchdict['problem_id']).first()
        problem.generateSamples()
#        res = ""
#        if problem.sample_tests != '':
#            res = "<div class='problem-statement'><div class='sample-tests'><div class='section-title'>Примеры</div>"
#        
#            for i in problem.sample_tests.split(","):
#                res += "<div class='sample-test'>"
#                res += "<div class='input'><div class='title'>Входные данные</div><pre class='content'>"
#                res += get_test(problem, i)
#                res += "</pre></div><div class='output'><div class='title'>Выходные данные</div><pre class='content'>"
#                res += get_corr(problem, i)
#                res += "</pre></div></div>"
#        
#            res += "</div></div>"
#
#        problem.sample_tests_html = res
        with transaction.manager:
           DBSession.merge(problem)
        return {"result" : "ok", "content" : problem.sample_tests}
    except Exception as e:
        return {"result" : "error", "content" : e.__str__(), "stack" : traceback.format_exc()}
Пример #3
0
def setShowLimits(problem_id, show_limits):
    problem = DBSession.query(Problem).filter(Problem.id == problem_id).first()

    problem.show_limits = show_limits
    with transaction.manager:
        DBSession.merge(problem)
    return "Ok"
Пример #4
0
def problem_generate_samples(request):
    try:
        checkCapability(request)
        problem = DBSession.query(EjudgeProblem).filter(
            EjudgeProblem.id == request.matchdict['problem_id']).first()
        problem.generateSamples()
        #        res = ""
        #        if problem.sample_tests != '':
        #            res = "<div class='problem-statement'><div class='sample-tests'><div class='section-title'>Примеры</div>"
        #
        #            for i in problem.sample_tests.split(","):
        #                res += "<div class='sample-test'>"
        #                res += "<div class='input'><div class='title'>Входные данные</div><pre class='content'>"
        #                res += get_test(problem, i)
        #                res += "</pre></div><div class='output'><div class='title'>Выходные данные</div><pre class='content'>"
        #                res += get_corr(problem, i)
        #                res += "</pre></div></div>"
        #
        #            res += "</div></div>"
        #
        #        problem.sample_tests_html = res
        with transaction.manager:
            DBSession.merge(problem)
        return {"result": "ok", "content": problem.sample_tests}
    except Exception as e:
        return {
            "result": "error",
            "content": e.__str__(),
            "stack": traceback.format_exc()
        }
Пример #5
0
def approve(request):
    try:
        id = int(html.escape(request.params['id'])) 
        ideal = DBSession.query(Ideal).filter_by(id=id).first()
        ideal.status = html.escape(request.params['status']) 
        with transaction.manager:
            DBSession.merge(ideal)
        return HTTPFound(location="/mod/statements/view3.php?chapterid=" + str(ideal.problem_id))
    except Exception as e: 
        return {"result" : "error", "message" : e.__str__(), "stack" : traceback.format_exc()}
Пример #6
0
def problem_set_preliminary(request):
    try:
        checkCapability(request)
        problem = DBSession.query(Problem).filter(Problem.id == request.matchdict['problem_id']).first()

        problem.sample_tests = request.params['sample_tests']
        with transaction.manager:
           DBSession.merge(problem)
        return {"result" : "ok", "content" : problem.sample_tests}
    except Exception as e:
        return {"result" : "error", "content" : e.__str__(), "stack" : traceback.format_exc()}
Пример #7
0
def problem_set_preliminary(request):
    try:
        checkCapability(request)
        problem = DBSession.query(Problem).filter(
            Problem.id == request.matchdict['problem_id']).first()

        problem.sample_tests = request.params['sample_tests']
        with transaction.manager:
            DBSession.merge(problem)
        return {"result": "ok", "content": problem.sample_tests}
    except Exception as e:
        return {
            "result": "error",
            "content": e.__str__(),
            "stack": traceback.format_exc()
        }