Exemple #1
0
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)
Exemple #2
0
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')
Exemple #3
0
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')
Exemple #4
0
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)
Exemple #5
0
def delete_blog():
    Blog.delete(request.referer[-32:])
    return redirect('/hello')