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")))
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()
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>")