-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathssweb.py
More file actions
86 lines (74 loc) · 1.79 KB
/
ssweb.py
File metadata and controls
86 lines (74 loc) · 1.79 KB
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
import web
import ssr
from web.contrib.template import render_jinja
import json
## 路由
urls=(
'/', 'home',
'/add', 'add',
'/delete', 'delete',
'/edit','edit',
'/user','visitor'
)
app=web.application(urls,globals())
## 使用jinja渲染
render=render_jinja(
'templates',
encoding='utf-8'
)
ss=ssr.Ssr()
## 主页
class home():
def GET(self):
users = ss.Get_all_user()
return render.home(users=users)
## 主页
class visitor():
def GET(self):
users = ss.Get_all_user()
return render.user(users=users)
## 添加用户
class add():
def POST(self):
data=web.input()
user = ssr.User(data).user
port = user.get('port')
if ss.add(user):
ss.del_rule(port)
ss.add_rule(port)
ss.save_table()
msg='添加成功'
else: msg='添加失败'
return json.dumps(msg)
## 删除用户
class delete():
def POST(self):
data = web.input()
port = data.get("port")
msg = '删除失败'
if port:
port = int(port)
user = {'port': port, }
if ss.delete(user):
ss.del_rule(port)
ss.save_table()
msg = '删除成功'
return json.dumps(msg)
## 修改用户配置
class edit():
def POST(self):
data = web.input()
port=data.get('port','')
user = ssr.User(data).user
msg = '修改失败'
if port:
port=int(port)
if port<65534 and port >0:
user.update({'port':port})
else:return {'code':1,'msg':'error'}
ss.edit(user)
msg = '修改成功'
return json.dumps(msg)
application=app.wsgifunc()
if __name__ == '__main__':
app.run()