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"
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()}
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() }
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()}
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()}
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() }