forked from Yasil/carewebsite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsitehandler.py
140 lines (113 loc) · 3.42 KB
/
sitehandler.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import uuid
import db
import json
from tool import get_md5, clock
import log
logger = log.logging.getLogger("sitehandler")
session_dict = {}
COOKIE_KEY = "20monitor20"
def check_session(sessionid):
# check_login
global session_dict
# print(session_dict)
logger.debug("session:{}".format(session_dict))
if session_dict.get(sessionid,False) is False:
# session fail
return False, "please login!"
else:
if clock() - session_dict.get(sessionid).get('lifetime') > 7200:
session_dict.pop(sessionid)
return False, "login timeout!"
else:
session_dict.get(sessionid).update(lifetime=clock())
return True, "ok"
def create_session(username):
global session_dict
sessionid = str(uuid.uuid4())
session_dict.setdefault(sessionid, {"name":username, "lifetime":clock()})
return sessionid
def clear_session(sessionid):
global session_dict
logger.debug(sessionid)
if session_dict.get(sessionid, False) is not False:
session_dict.pop(sessionid)
def check_user(name, pw):
result = db.user_get()
for i in result:
if name == i['username']:
if get_md5(pw) == i['password']:
# user exists
return True
else:
continue
else:
continue
else:
# user not exists
return False
def json_resp(code, msg, count=0, data=None):
''' return response json '''
if data is not None:
d = {"code":code,
"msg":msg,
"count":count,
"data":data}
return json.dumps(d)
else:
d = {"code":code,
"msg":msg
}
return json.dumps(d)
def web_get_url(page,limit):
page = page - 1 if page - 1 >= 0 else 0
result = db.url_get()
start = page * limit
end = start + limit
return len(result), [dict(r) for r in result[start:end]]
def web_get_alert(page,limit):
page = page - 1 if page - 1 >= 0 else 0
result = db.event_get_all()
start = page * limit
end = start + limit
return len(result), [dict(r) for r in result[start:end]]
def web_get_user(page,limit):
page = page - 1 if page - 1 >= 0 else 0
result = db.user_get()
start = page * limit
end = start + limit
return len(result), [dict(r) for r in result[start:end]]
def web_get_history(page,limit):
page = page - 1 if page - 1 >= 0 else 0
result = db.visit_history_all()
start = page * limit
end = start + limit
return len(result), [dict(r) for r in result[start:end]]
def web_get_urldetail(urlid):
result = db.visit_history_get(urlid)
return 60, [dict(r) for r in result]
def web_get_url_delete(urlid):
result = db.url_delete(urlid)
return result
def web_url_add(formdict):
formdict.setdefault('createtime', clock())
result = db.url_insert(formdict)
return result
def web_user_delete(userid):
result = db.user_delete(userid)
return result
def web_user_add(formdict):
# user dict
password = formdict.get('password')
formdict.update(password=get_md5(password))
formdict.setdefault('createtime', clock())
result = db.user_insert(formdict)
return result
def web_alert_empty():
return db.event_empty()
def web_history_empty():
return db.visit_empty()
if __name__ == '__main__':
# result = web_get_urldetail(2)
# print(result)
# web_get_url_delete(22)
pass