From 2140a85929564d0104bc364cd4e306f75c7dc77d Mon Sep 17 00:00:00 2001 From: lixin Date: Thu, 9 Nov 2023 16:35:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=BB=E6=9C=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.py | 13 +++++++++++ views/server.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/index.py b/index.py index 2cb89aa..0c64990 100644 --- a/index.py +++ b/index.py @@ -27,6 +27,7 @@ mods = { 'system_migration': migration.system_migration, 'migration_details': migration.migration_details, 'import_host_info': server.import_host_info, + 'host_info_display': server.host_info_display, } @app.route('/import_host_info', methods=['GET', 'POST']) @@ -39,6 +40,18 @@ def import_host_info(): if mod: return Response(mod, content_type='application/json') + +@app.route('/host_info_display', methods=['GET', 'POST']) +def host_info_display(): + """ + 显示主机信息 + :return: + """ + mod = check_methods() + if mod: + return Response(mod, content_type='application/json') + + def check_methods(): if request.method == 'POST': data = request.get_data() diff --git a/views/server.py b/views/server.py index cf07d2f..d2ca719 100644 --- a/views/server.py +++ b/views/server.py @@ -38,7 +38,6 @@ def import_host_info(data): return data_json - def get_agent_id(agent_ip): """ 获取agent_id @@ -77,4 +76,60 @@ def create_task_stream(agent_ip): create_agent_task_sql = "insert into agent_task(agent_id,agent_ip,task_id,task_status,task_progress," \ "task_CreateTime,task_Updatetime,task_stream_id,task_data) values " \ "(%s, %s, %s, %s, %s, %s, %s, %s, %s);" - DBHelper().insert(create_agent_task_sql, values) \ No newline at end of file + DBHelper().insert(create_agent_task_sql, values) + + +def pagebreak(data, page, size): + """ + 页面数据分页 + :param data: + :return: + """ + page_start = (page - 1) * size + page_end = page * size + result = data[page_start:page_end] + + return result + +def host_info_display(data): + """ + 显示主机信息 + agent_ip,hostname,agent_online_status,agent_os,agent_arch, + agent_history_faild_reason,task_CreateTime,task_status + :return: + """ + page = json.loads(data).get('page') + size = json.loads(data).get('size') + sql = "select agent_ip,hostname,agent_online_status,agent_os,agent_arch," \ + "agent_history_faild_reason from agent_info;" + data = DBHelper().execute(sql).fetchall() + data = list(data) + for i in range(0, len(data)): + data[i] = list(data[i]) + agent_task = "select task_CreateTime,task_data from agent_task where agent_ip = '%s';" % data[i][0] + get_agent_task = DBHelper().execute(agent_task).fetchall() + get_agent_task = list(get_agent_task) + + if not get_agent_task: + data[i] += ["", ""] + else: + task_CreateTime = get_agent_task[0][0].strftime('%Y-%-m-%d %H:%M:%S') + task_status = get_agent_task[0][1] + data[i].append(task_CreateTime) + data[i].append(task_status) + + res = {} + res['num'] = len(data) + info_list = [] + info_dict_keys_list = ['agent_ip', 'hostname', 'agent_online_status', 'agent_os', 'agent_arch', + 'failure_reasons', 'task_CreateTime', 'task_status'] + for i in data: + info_list.append(dict(zip(info_dict_keys_list, i))) + + page_list = pagebreak(info_list, page, size) + res['info'] = page_list + res['page'] = page + res['size'] = size + + json_res = json.dumps(res) + return json_res \ No newline at end of file -- 2.20.1