Пример #1
0
def show_single(post_id):
    """ Show/edit a single post. """
    p = psblog.get_post(post_id)
    # TODO: proper form handling for html module
    o=""
    o+="<form action=\"?page=save\" method=\"POST\">"
    o+="<input type=\"text\" name=\"heading\" value=\""+p["meta"]["heading"]+"\"><br>"
    o+="<input type=\"text\" name=\"category\" value=\""+p["meta"]["category"]+"\"><br>"
    o+="<input type=\"hidden\" name=\"id\" value=\""+post_id+"\"><br>"
    o+="<input type=\"hidden\" name=\"save\" value=\"save\"><br>"
    o+="<textarea style='width:100%;height:40em;' name=\"text\">"+p["text"].decode("utf8")+"</textarea><br>"
    o+="<input type=\"submit\"><br>" 
    o+="</form>"
    i = 0
    for c in p["comments"]:
        # TODO: make delete link a POSTing form
        o2=html.a("?page=del_comment&id="+post_id+"&cid="+str(i), "delete")
        o2+="<br>"
        for key,item in c.items():
            # XXX HACK
            try:
                o2+=key+" - "+item.decode("utf8")+"<br>"
            except UnicodeEncodeError:
                o2+=key+" - "+item+"<br>"
        o += html.block(o2)
        i += 1
    o+=html.block(p["html"])
    print(html.render_admin(o.encode("utf8")))
Пример #2
0
def del_comment(post_id, cid):
    """ Delete a comment. """
    p = psblog.get_post(post_id)
    del p["comments"][cid]
    rm_post(post_id)
    add_post(
        p["meta"]["heading"],
        p["meta"]["category"],
        p["text"],
        p["meta"]["datetime"],
        p["comments"])
    psblog.compile_everything()
Пример #3
0
def save_single(path, params):
    """ Save a single post, replacing the old one. """
    old = psblog.get_post(path)
    old_date = old["meta"]["datetime"]
    old_comments = old["comments"]
    rm_post(path)
    print("old page deleted<br>")
    add_post(
        params["heading"].value,
        params["category"].value,
        params["text"].value,
        old_date,
        old_comments)
    psblog.compile_everything()
    print("new page added<br>")