Exemplo n.º 1
0
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}
Exemplo n.º 2
0
def delete_entry(filename):
    basename, extension = splitext(filename)
    entry = Entry.get_by_key_name(basename)
    if entry:
        entry.delete()
Exemplo n.º 3
0
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/"}
Exemplo n.º 4
0
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"}}