def autosave(handler, route, params): title = params.get("title", "") content = params.get("content", "") key = params.get("key", None) user = handler.session.get("account", False) if not title or not content: return {"saved": False} if not user: return {"account": False, "saved": False} if key: draft = Entry.get_by_key_name(key) if str(draft._author) != user: raise Exception("You are not this article's author") else: key = str(time.time()).replace(".", "") draft = Entry(key_name=key, author=db.Key(user)) draft.title = title draft.content = content draft.put() return {"saved": key, "time": draft.isodate}
def delete_entry(filename): basename, extension = splitext(filename) entry = Entry.get_by_key_name(basename) if entry: entry.delete()
def article(handler, route, params): if route.get("key", False): draft = Entry.get_by_key_name(route.get("key")) return {"article": draft} return {"__redirect_to": "/writer/"}
def draft(handler, route, params): if route.get("key", False): draft = Entry.get_by_key_name(route.get("key")) if draft and str(draft._author) == handler.session.get("account", False): return {"draft": draft} return {"draft": {"title": "untitled", "content": "", "saved": "never"}}