Skip to content

Commit

Permalink
完成 tag 页面
Browse files Browse the repository at this point in the history
  • Loading branch information
fanzeyi committed Apr 5, 2012
1 parent 7a1fb9f commit 3e2afdc
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 3 deletions.
3 changes: 2 additions & 1 deletion handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# AUTHOR: Zeray Rice <fanzeyi1994@gmail.com>
# FILE: handlers.py
# CREATED: 01:41:06 08/03/2012
# MODIFIED: 02:24:35 19/03/2012
# MODIFIED: 16:36:58 05/04/2012
# DESCRIPTION: URL Route

from api import *
Expand All @@ -28,6 +28,7 @@
(r'/lang/(.*)', SetLanguageHandler),
(r'/problem', ListProblemHandler),
(r'/problem/([\d]*)', ViewProblemHandler),
(r'/tag/(.*)', ViewTagHandler),
(r'/submit', ListSubmitHandler),
(r'/submit/(.*)', ViewSubmitHandler),
(r'/backstage/problem/add', AddProblemHandler),
Expand Down
29 changes: 27 additions & 2 deletions problem.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# AUTHOR: Zeray Rice <fanzeyi1994@gmail.com>
# FILE: problem.py
# CREATED: 04:04:57 15/03/2012
# MODIFIED: 15:28:24 19/03/2012
# MODIFIED: 16:39:22 05/04/2012

import os
import time
Expand Down Expand Up @@ -131,6 +131,31 @@ def get(self):
problem.submit = self.select_last_submit_by_problem_id_member_id(problem.id)
self.render("problem_list.html", locals())

class ViewTagHandler(BaseHandler, ProblemDBMixin):
def get(self, tagname):
start = self.get_argument("start", default = 0)
try:
start = int(start)
except ValueError:
start = 0
tagname = self.xhtml_escape(tagname)
breadcrumb = []
breadcrumb.append((self._('Home'), '/'))
breadcrumb.append((self._('Tag'), '/problem'))
breadcrumb.append((tagname, '/tag/' + tagname))
title = self._("Problem")
if self.current_user and self.current_user.admin:
count = self.count_problem_by_tagname(tagname)
problems = self.select_problem_by_tagname(tagname, 10, start)
else:
count = self.count_visible_problem_by_tagname(tagname)
problems = self.select_visible_problem_by_tagname(tagname, 10, start)
pages = self.get_page_count(count)
if self.current_user:
for problem in problems:
problem.submit = self.select_last_submit_by_problem_id_member_id(problem.id)
self.render("problem_list.html", locals())

class ListSubmitHandler(BaseHandler, ProblemDBMixin):
def get(self):
start = self.get_argument("start", default = 0)
Expand Down Expand Up @@ -168,4 +193,4 @@ def get(self, sid):
code_highlighted = self.highlight_code(submit.code, submit.lang)
self.render("submit.html", locals())

__all__ = ["ViewProblemHandler", "ListProblemHandler", "ListSubmitHandler", "ViewSubmitHandler"]
__all__ = ["ViewProblemHandler", "ListProblemHandler", "ViewTagHandler", "ListSubmitHandler", "ViewSubmitHandler"]

0 comments on commit 3e2afdc

Please sign in to comment.