From 71d7a34e340d331349d52490d5b551dc89dc829c Mon Sep 17 00:00:00 2001 From: "sxw@401" Date: Mon, 7 Sep 2015 10:51:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B6=E5=AE=9E=E6=B2=A1=E6=9C=89=E6=9B=B4?= =?UTF-8?q?=E6=94=B9,=E8=B7=9Forigin=20dev-sxw=E4=BF=9D=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E8=87=B4,=E5=9B=A0=E4=B8=BA=E5=88=9A=E5=88=9Agit=20pull?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E5=87=BA=E9=94=99=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Accessories/utils.py | 38 +++++++++++++++++++++++++++++++++++--- problem/views.py | 2 +- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/Accessories/utils.py b/Accessories/utils.py index 264bd556..17ab0963 100644 --- a/Accessories/utils.py +++ b/Accessories/utils.py @@ -1,9 +1,7 @@ import django from contest.models import * - +from problem.models import * django.setup() - - def add_exist_problem_to_contest(problems, contest_id): try: contest = Contest.objects.get(pk=contest_id) @@ -27,3 +25,37 @@ def add_exist_problem_to_contest(problems, contest_id): memory_limit=problem.memory_limit) i += 1 return +def add_contest_problem_to_problem(contest_id): + try: + contest = Contest.objects.get(pk=contest_id) + except Contest.DoesNotExist: + print "Contest Doesn't Exist!" + return + #Get all problems in this contest + problems = ContestProblem.objects.filter(contest=contest) + + #get a tag + try: + tag = ProblemTag.objects.get(name=contest.title) + except ProblemTag.DoesNotExist: + tag = ProblemTag.objects.create(name=contest.title) + + #for each problem + for problem in problems: + print "Add problem to problem list:" + print problem.title + p = Problem.objects.create(title=problem.title, + description=problem.description, + input_description=problem.input_description, + output_description=problem.output_description, + samples=problem.samples, + test_case_id=problem.test_case_id, + hint=problem.hint, + created_by=problem.created_by, + time_limit=problem.time_limit, + memory_limit=problem.memory_limit, + visible = False, + difficulty = 0, + source = contest.title) + p.tags.add(tag) + return \ No newline at end of file diff --git a/problem/views.py b/problem/views.py index b73085fd..9f659320 100644 --- a/problem/views.py +++ b/problem/views.py @@ -235,7 +235,7 @@ def problem_list_page(request, page=1): tag = ProblemTag.objects.get(name=tag_text) except ProblemTag.DoesNotExist: return error_page(request, u"标签不存在") - problems = tag.problem_set.all() + problems = tag.problem_set.all().filter(visible=True) paginator = Paginator(problems, 20) try: