예제 #1
0
파일: blog_views.py 프로젝트: dreampuf/bana
from config import config
from model import Post
from model import PostStatus
from model import PostSignals
from model import Key 
from model import User 
from model import Comment 
from model import CommentSignals
from model import Rollback 
from common import BlogHandler, attach_event

INDEXPOSTFILTER = lambda x:x.filter("status =", PostStatus.NORMAL).order("-date_created")
def rtotal_Index(*args, **kw):
    Post.refresh_total(func=INDEXPOSTFILTER)
attach_event(func=rtotal_Index, signal=PostSignals.New)

class IndexHandler(BlogHandler):
    def get(self):
        p = self.GET.get("p")
        p = int(p) if p and p.isdigit() else 1
        pager = Post.fetch_page(p, func=INDEXPOSTFILTER)

        context = {"pager": pager}

        self.render("index.html", context)

class CategoryHandler(BlogHandler):
    def get(self, category_key_name):
        p = self.GET.get("p")
        p = int(p) if p and p.isdigit() else 1
예제 #2
0
        
        if action == "new":
            try:
                Category.new(pdict.get("category.url", randstr()),
                             pdict.get("category.title"),
                             pdict.get("category.discription") )
                Category.refresh_total()
            except Rollback, ex:
                self.jsonout(ex)
            else:
                self.jsonout("ok")

ADMINPOSTFILTER = lambda x:x.order("-date_created")
def rtotal_AdminPost(*arg, **kw):
    Post.refresh_total(func=ADMINPOSTFILTER)
attach_event(func=rtotal_AdminPost, signal=PostSignals.New)

class AdminPostHandler(AdminHandler):
    def get(self):
        p = self.GET.get("p")
        p = int(p) if p and p.isdigit() else 1
        pager = Post.fetch_page(p, func=ADMINPOSTFILTER)

        context = {"page_name": u"文章管理",
                   "page_title": u"文章管理",
                   "pager": pager }
        self.render("admin_post.html", context)

class AdminModifyPostHandler(AdminHandler):
    def get(self, post_id):
        p = Post.get_by_id(int(post_id)) if post_id.isdigit() else None