示例#1
0
def blog_add(users=None, glob=None):
    """
    blog t添加处理时的逻辑
    """
    user = users.is_login_admin()
    if user is None:
        return "you need login to me!"

    ret = def_content.get_ret()
    title = request.forms.getu("title", None)

    cate = request.forms.getu("cate", None)
    tags = request.forms.getu("tags", None)
    content = request.forms.getu("content", None)
    page_id = int(request.query.getu("bid", 0))

    ret["title"] = title
    ret["cate"] = cate
    ret["tags"] = tags
    ret["content"] = content
    ret["form_url"] = "/blog/add"
    if page_id > 0:
        row = ModelBlogs.get_by_id(page_id)
        if row:
            ret["title"] = row.title
            ret["cate"] = row.cate
            ret["tags"] = " ".join(row.tags)
            ret["content"] = row.content
            ret["form_url"] = "/blog/add?bid=%s" % (page_id,)
    ##### cate 处理
    if cate is not None and cate.strip() != "":
        kwds = {"title": cate, "is_del": False}
        cate_mode = ModelCategory.get_or_insert(key_name=cate, **kwds)
        cate_mode.put()

    if tags is not None and tags.strip() != "":
        tag = tags.split(" ")
        tag = filter(lambda x: x != "", tag)
        for x in tag:
            kwds = {"title": x, "is_del": False}
            mtag = ModelTags.get_or_insert(key_name=x, **kwds)
            mtag.put()
    if title and content:
        create_time = datetime.datetime.now()
        if "tag" not in locals():
            tag = []
        if page_id > 0:
            row.title = title
            row.cate = cate
            row.tags = tag
            row.content = content
            row.edit_time = create_time
            row.put()

            redirect("/blog/add?bid=%s" % (page_id,))
        else:
            mblog = ModelBlogs(
                account=user,
                title=title,
                cate=cate,
                tags=tag,
                content=content,
                create_time=create_time,
                edit_time=create_time,
                is_del=False,
            )
            mblog.put()
        # return mblog.key()
    return ret