def add_serverStatus(): if session["role"] != "admin": return redirect('/') if request.method == "GET": res = DB().select_NoWhere(server_info_table, ["sid"]) # 查出sid的sid渲染添加 sids = [content[0] for content in res] return render_template("/server/addserver_status.html", sids=sids) if request.method == "POST": servers = dict((k, v[0]) for k, v in dict( request.form).items()) # 获取到所有post数据插入server_status表 fields2 = ['sid', 'server_name', 'status', 'ip', 'services'] content2 = DB().insert(server_status_table, fields2, servers) if content2 == 0: return json.dumps({'code': 0, 'info': '添加成功'}) else: return json.dumps({'code': 1, 'error': '添加失败'})
def server_updateStatus(): if request.method == "POST": # 接收前端修改信息的post请求 status = dict((k, v[0]) for k, v in dict(request.form).items()) print status where = {'sid': status['sid']} content = DB().update(server_status_table, status, where) if content == 0: return json.dumps({'code': 0, 'info': '更新成功'}) else: return json.dumps({'code': 1, 'error': '更新错误'}) if request.method == "GET": # 更新信息栏 GET请求时,返回用户的信息进行渲染 id = request.args.get('id') where = {'sid': id} fields = ['sid', 'server_name', 'status', 'ip', 'services'] content = DB().check(server_status_table, fields, where) status = dict((k, content[i]) for i, k in enumerate(fields)) print status return json.dumps(status)
def show(): # 该获取全局信息进行页面展示 if request.method == "GET": info = {} # 获取用户总数 info['userSum'] = DB().select_NoWhere("Users", ["count(*)"])[0][0] logs.info("获取用户总数为:%s" % (info['userSum'])) # 获取设备总数 info['serverSum'] = DB().select_NoWhere("Servers_Info", ["count(*)"])[0][0] logs.info("获取设备总数为:%s" % (info['serverSum'])) # 获取运行状态服务器总数 info['serverRunning'] = DB().check( "Servers_Status", ["count(*)"], {"status": 0})[0] # 注意不带where和带whereselect出来结果不一样 logs.info("获取运行中设备总数为:%s" % (info['serverRunning'])) # 获取关机状态 info['serverDown'] = DB().check("Servers_Status", ["count(*)"], {"status": 1})[0] logs.info("获取运行中设备总数为:%s" % (info['serverDown'])) return render_template("/dashboard/dashboard.html", info=info)
def server_updateInfo(): if request.method == "POST": # 接收前端修改信息的post请求 server = dict((k, v[0]) for k, v in dict(request.form).items()) where = {'sid': server['sid']} content = DB().update(server_info_table, server, where) if content == 0: return json.dumps({'code': 0, 'info': '更新成功'}) else: return json.dumps({'code': 1, 'error': '更新错误'}) if request.method == "GET": # 更新信息栏 GET请求时,返回用户的信息进行渲染 id = request.args.get('id') where = {'sid': id} fields = [ 'sid', 'machine_room', 'cabinet', 'sn', 'server_type', 'configuration' ] content = DB().check(server_info_table, fields, where) server = dict((k, content[i]) for i, k in enumerate(fields)) print server return json.dumps(server)
def delete_serverStatus(): if session["role"] != "admin": return redirect('/') if request.method == "GET": id = request.args.get('id') where = {"sid": id} print where content = DB().delete(server_status_table, where) if content == 0: return json.dumps({'code': 0, 'info': '删除成功'}) else: return json.dumps({'code': 1, 'error': '删除失败'})
def server_listStatus(): if session["role"] != "admin": return redirect('/') if request.method == "GET": fields = ['sid', 'server_name', 'status', 'ip', 'services'] res = DB().select_NoWhere(server_status_table, fields) servers = [] for content in res: tmp = dict((k, content[i]) for i, k in enumerate(fields)) servers.append(tmp) # 获取所有用户信息后 在页面展示 return render_template("/server/serverlist_status.html", servers=servers)
def server_list(): if session["role"] != "admin": return redirect('/') if request.method == "GET": fields = [ 'sid', 'machine_room', 'cabinet', 'sn', 'server_type', 'configuration' ] res = DB().select_NoWhere(server_info_table, fields) servers = [] for content in res: tmp = dict((k, content[i]) for i, k in enumerate(fields)) servers.append(tmp) # 获取所有用户信息后 在页面展示 return render_template("/server/serverlist.html", servers=servers)
def add_server(): if session["role"] != "admin": return redirect('/') if request.method == "GET": return render_template("/server/addserver.html") if request.method == "POST": servers = dict( (k, v[0]) for k, v in dict(request.form).items()) # 获取到所有post数据分2张表插入,表外键关联 logs.info("获取添加设备数据:%s" % (servers)) fields1 = [ 'machine_room', 'cabinet', 'sn', 'server_type', 'configuration' ] # 插入第一张表 content1 = DB().insert(server_info_table, fields1, servers) # 获取外键sid插入第二张表 tuple_sid = DB().check(server_info_table, ['sid'], {'sn': servers['sn']}) servers['sid'] = tuple_sid[0] fields2 = ['sid', 'server_name', 'status', 'ip', 'services'] content2 = DB().insert(server_status_table, fields2, servers) if content1 == 0 and content2 == 0: return json.dumps({'code': 0, 'info': '添加成功'}) else: return json.dumps({'code': 1, 'error': '添加失败'})
#!/usr/bin/env python #coding=utf-8 import system_logging from config import db_config, ItemNameDict from dbtool import DB import urllib2 from send_mail import SendMail from send_down_comp import do from auth import mylogger import time import sys reload(sys) sys.setdefaultencoding('utf8') db = DB(host=db_config['host'], mysql_user=db_config['user'], mysql_pass=db_config['passwd'], \ mysql_db=db_config['db']) def GetMobileIp(comp_name): sql = "select b.compRoomName,c.cabinetIP ,d.serviceTypeCode \ from ip_comproom_cabinet a \ LEFT JOIN ip_comproom b \ on a.compRoomID = b.compRoomID \ LEFT JOIN ip_cabinet c \ on a.cabinetID = c.cabinetID \ LEFT JOIN ip_servicetype d \ on a.serviceTypeID = d.serviceTypeID \ where b.compRoomName = '%s' and d.serviceTypeCode = 'mobile'" % comp_name res = db.execute(sql) resone = res.fetchone() if resone: comp_ip = resone['cabinetIP']