예제 #1
0
파일: xtemplate.py 프로젝트: hdl217/xnote
def pre_render(kw):
    """模板引擎预处理过程"""
    user_name = xauth.current_name() or ""

    kw["math"] = math
    kw["_is_admin"] = xauth.is_admin()
    kw["_has_login"] = xauth.has_login()
    kw["_user_name"] = user_name
    kw["_user_agent"] = get_user_agent()
    # 处理首页公告
    kw["_top_notice"] = None
    # 用于渲染其他组件
    kw["_render"] = render
    kw["Storage"] = Storage
    kw["xutils"] = xutils
    kw["xconfig"] = xconfig
    kw["_user_config"] = get_user_config_dict(user_name)
    kw["_notice_count"] = get_message_count(user_name)
    kw["T"] = T
    kw["HOME_PATH"] = xconfig.get_user_config(user_name, "HOME_PATH")
    kw["THEME"] = xconfig.get_user_config(user_name, "THEME")
    if hasattr(web.ctx, "env"):
        kw["HOST"] = web.ctx.env.get("HTTP_HOST")

    if len(xconfig.errors) > 0:
        kw["warn"] = "; ".join(xconfig.errors)

    # render input
    _input = web.ctx.get("_xnote.input")
    if _input is not None:
        kw.update(_input)
예제 #2
0
    def GET(self):
        page = xutils.get_argument("page", 1, type=int)
        user_name = xauth.get_current_name()
        pagesize = xconfig.PAGE_SIZE
        offset = (page - 1) * pagesize
        files = NOTE_DAO.list_by_parent(user_name, 0, offset, pagesize)
        amount = NOTE_DAO.count_by_parent(user_name, 0)
        parent = NOTE_DAO.get_root()

        return xtemplate.render(VIEW_TPL,
                                file_type="group",
                                back_url=xconfig.get_user_config(
                                    user_name, "HOME_PATH"),
                                pathlist=[
                                    parent,
                                    Storage(name="默认分类",
                                            type="group",
                                            url="/note/default")
                                ],
                                files=files,
                                file=Storage(id=1,
                                             name="默认分类",
                                             type="group",
                                             parent_id=0),
                                page=page,
                                page_max=math.ceil(amount / pagesize),
                                groups=NOTE_DAO.list_group(),
                                show_mdate=True,
                                page_url="/note/default?page=")
예제 #3
0
파일: index.py 프로젝트: gotonking/miniNote
 def GET(self):
     if xauth.has_login():
         user_name = xauth.current_name()
         raise web.found(xconfig.get_user_config(user_name, "HOME_PATH"))
     else:
         raise web.found("/note/public")