-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.py
85 lines (72 loc) · 2.3 KB
/
index.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#coding:UTF-8
from flask import Flask,render_template,request,redirect,session
from functools import wraps
from config import db
import time
app=Flask(__name__)
app.secret_key="root"
def checkUser(fn):
@wraps(fn)
def deal(*args,**kwds):
if session.has_key("uid"):
return fn(*args,**kwds)
else:
return redirect("/account")
return deal
def handleListsCharset(obj):
r=dict(obj.items())
r['content']=r['content'].decode("UTF-8")
if(r['endDate']==None):
r['endDate']=u"无"
return r
@app.route("/")
@checkUser
def index():
"主页"
dao=db.execute("select * from calendar where status = 0 order by level desc,endDate asc,id desc")
lists=dao.fetchall()
dao.close()
lists=map(handleListsCharset,lists)
return render_template("index.html",lists=lists)
@app.route("/add",methods=['GET','POST'])
@checkUser
def add():
"添加日程"
if request.method == "GET" :
return render_template("add.html")
else:
level=request.form.get("level",None)
content=request.form.get("content",None)
endDate=request.form.get("endDate",None)
dao=db.execute("insert into calendar(level,content,endDate,createTime) values('%s','%s','%s',now())"%(level,content,endDate))
dao.close()
return redirect("/")
@app.route("/account",methods=['GET','POST'])
def account():
"用户登录"
if request.method == "GET":
code=request.args.get("code","3")
return render_template("account.html",code=code)
else:
username=request.form.get("username",None)
password=request.form.get("password",None)
dao=db.execute("select password from account where username = '%s' limit 1"%(username))
obj=dao.fetchone()
dao.close()
if obj == None:
url="/account?code=1"
elif obj.password == password:
session['uid']=time.time()
url="/"
else:
url="/account?code=2"
return redirect(url)
@app.route("/finish")
def finish():
"完成日程"
id=request.args.get("id",None)
dao=db.execute("update calendar set status = 1 where id = %s"%(id))
dao.close()
return redirect("/")
if __name__ == "__main__":
app.run(debug=True,host="0.0.0.0",port=8000)