def post_blog(): form = request.form if 'id' in form: Blog.delete(form['id']) blog = Blog(name=request.cookie['name'], title=form['title'], content=form['content']) blog.insert() return redirect('/hello/' + blog.id)
def log_the_user_in(): form = request.form user = User.get(name=form['name']) sign = md5_hash(user.id + user.password) app.signed_cookie[user.name] = sign form['sign'] = sign del form['password'] request.set_cookie(form) return redirect('/hello')
def upload(): form = cgi.FieldStorage(fp=request.env['wsgi.input'], environ=request.env, keep_blank_values=True) item = form['file'] if item.file and item.filename: filename = os.path.join(os.getcwd(), 'file', item.filename) error = '' if os.path.exists(filename): error = 'File already exist' elif int(request.env.get('CONTENT_LENGTH')) > 1024 * 1000: error = 'File is too large' if error: return redirect('/hello/' + error) with open(filename, 'wb') as f: for data in iter((lambda: item.file.read(1024 * 8)), b''): f.write(data) return redirect('/hello')
def hello(blog_id=None): name = request.cookie.get('name') sign = request.cookie.get('sign') if not sign or sign != app.signed_cookie.get(name): return redirect('/') if request.path == '/hello': blog = Blog.get(name=name) if blog is None: return render('hello.html', name=name) return redirect('/hello/' + blog.id) if blog_id.startswith('File'): blog = Blog(title=blog_id, content="") return render('hello.html', name=name, blog=blog) blog = Blog.get(blog_id) files = os.listdir(os.path.join(os.getcwd(), 'file')) files = ((f, quote(f).replace('%', '-')) for f in files) blogs = Blog.get_all(name=name) return render('hello.html', name=name, blog=blog, files=files, blogs=blogs)
def delete_blog(): Blog.delete(request.referer[-32:]) return redirect('/hello')