-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
64 lines (56 loc) · 1.65 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from flask import Flask, request
from model import Blog, DBSession
import time,json
app = Flask(__name__)
@app.route('/publish', methods=['GET', 'POST'])
def publish():
try:
title = request.form['title']
subtitle = request.form['subtitle']
description = request.form['description']
content = request.form['content']
now = int(time.time())
session = DBSession()
new_blog = Blog(title=title, description=description, subtitle=subtitle, content=content, time=now)
session.add(new_blog)
session.commit()
session.close()
except Exception, e:
app.logger.error(e)
return 'success'
@app.route('/list')
def list():
session = DBSession()
try:
filter = request.args.get('filter', None)
_blogs = []
if not filter:
_blogs = session.query(Blog.time).order_by(Blog.time).all()
else:
_blogs = session.query(Blog.time).filter(Blog.title.like('%filter%')).all()
blogs = []
for blog in _blogs:
blogs.append({'time':blog.time})
print json.dumps(blogs)
return json.dumps(blogs)
except Exception, e:
app.logger.error(e)
return 'error'
@app.route('/blog')
def blog():
try:
session = DBSession()
blog_id = request.args.get('blog_id', 'latest')
_blog = None
if blog_id != 'latest':
_blog = session.query(Blog).filter(Blog.time == int(blog_id)).one()
else:
_blog = session.query(Blog).order_by(Blog.time.asc()).one()
blog = {'time':_blog.time, 'title':_blog.title, 'description':_blog.description, 'subtitle':_blog.subtitle, 'content':_blog.content}
print json.dumps(blog)
return json.dumps(blog)
except Exception, e:
app.logger.error(e)
return 'error'
if __name__ == '__main__':
app.run('127.0.0.1', '9000')