def mark_post(start_response, ctx, mark): argd = find_post_args(ctx) tags = tagbase.split_marks(argd['tags']) (stamp0, stamp1) = mark.key() ctx.base.edit1(stamp0, stamp1, argd['title'], argd['href'], argd['extra'], tags) # Since the URL stays the same, we eschew 303 here. # Just re-read the base entry with a lookup and pretend this was a GET. mark = ctx.base.lookup(stamp0, stamp1) if mark == None: raise App404Error("Mark not found: "+str(stamp0)+"."+str(stamp1)) return mark_get(start_response, ctx, mark, stamp0)
def edit_post(start_response, ctx): username = ctx.user['name'] userpath = ctx.prefix+'/'+username argd = find_post_args(ctx) tags = tagbase.split_marks(argd['tags']) stamp0 = int(time.time()) stamp1 = ctx.base.add1(stamp0, argd['title'], argd['href'], argd['extra'], tags) if stamp1 < 0: raise App404Error("Out of fix: %d" % stamp0) redihref = '%s/mark.%d.%02d' % (userpath, stamp0, stamp1) response_headers = [('Content-type', 'text/html; charset=utf-8')] response_headers.append(('Location', slasti.safestr(redihref))) start_response("303 See Other", response_headers) jsondict = { "href_redir": redihref } return [template_html_redirect.substitute(jsondict)]