-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.py
125 lines (94 loc) · 3 KB
/
server.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
# -*- coding: utf-8 -*-
import os.path
import tornado.httpserver
import tornado.web
import tornado.ioloop
import argparse
import sys
#本程序说明
argument_parser = argparse.ArgumentParser(#prog='exam-system',
description='在线模拟考试系统!')
#设置参数
argument_parser.add_argument('-db', nargs=1, default=False, type=bool, help='初始化数据库,并加载数据!')
from tornado.options import options, define
# 设置启动端口
define("port", default=7000, type=int, help="运行在哪个端口")
from conf import config
from mainurls import urls_pattern as url_handlers
from ui import uimodules
applicaton = tornado.web.Application(
handlers=url_handlers,
template_path='template',
static_path=os.path.join(os.path.dirname(__file__), "static"),
login_url='/login',
debug=True,
**config.redis,
# ui_methods=ui_method,
ui_modules=uimodules,
)
def capture_data():
# 抓取数据
#获取数据至数据库
from util.capture.savedata import SaveQuestionData
from util import db
from model.user import UserModel
from model import carquestion
def _initialize_db():
'''
创件数据表
:return:
'''
print('初始化数据库')
try:
db.create_all()
except Exception as e:
print('Error:{}'.format(e))
else:
print('初始化数据库表完成!')
def _init_admin():
admin_info = '初始化管理员失败!!!'
admin_user = UserModel.new(
username='11111111111',
password='123456a',
nickname='超级管理员',
)
db.datebase_session.add(admin_user)
try:
db.datebase_session.commit()
except Exception as e:
print(e)
db.datebase_session.rollback()
else:
print('管理员初始化成功!')
admin_info = '''
管理员用户名: 11111111111
管理员密码: 123456a
'''
finally:
db.datebase_session.close()
return admin_info
try:
_initialize_db()
print('正在请求数据!!!!')
SaveQuestionData('small').save_to_database()
SaveQuestionData('truck').save_to_database()
SaveQuestionData('bus').save_to_database()
SaveQuestionData('4').save_to_database() # 科目4题库
print('保存完成!')
if not UserModel.get_all():
is_success_admin = _init_admin()
print(is_success_admin)
except Exception as e:
print('请检查你的网络!!!!')
sys.exit(0)
def main():
arguments = argument_parser.parse_args()
if arguments.db:
capture_data()
# tornado.options.parse_command_line()
httpserver = tornado.httpserver.HTTPServer(applicaton)
httpserver.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
if __name__ == "__main__":
print('系统启动 ....')
main()