diff --git a/run.py b/run.py deleted file mode 100644 index 3cd11395166707b1ed212378be903747c5c65329..0000000000000000000000000000000000000000 --- a/run.py +++ /dev/null @@ -1,263 +0,0 @@ -# -*- coding: utf-8 -*- -# author:Li Mingjie time:2019/3/9 -# Brief: - -import domain_structure_analysis as DS -import time_series_analysis as TS -import user_portrait_analysis as UP -import chat_function_analysis as CF -import response_time_analysis as RT -import response_error_analysis as RE -import second_test as ST -import json -from flask import Flask, render_template -from flask import request -from flask_cors import CORS -from flask_caching import Cache -import time -import base64 -import random - -app = Flask(__name__) -CORS(app, supports_credentials=True) -# cache = Cache(app, config={'CACHE_TYPE': 'simple'}) - -print("*****datetime:") -now_time = time.strftime("%b %d %Y %H:%M:%S", time.localtime(time.time())) -print(now_time) -print("*****\n") - -users = { - "admin": "spdas!23" -} - - -def gen_token(uid): - token = base64.b64encode((':'.join([str(uid), str(random.random()), str(now_time)])).encode('utf-8')) - print("BASE64加密串:\n" + str(token, 'utf-8')) - # users[uid].append(token) - return token - - -@app.route('/SPDAS', methods=['GET']) -def index(): - return render_template('index.html') - - -@app.route('/SPDAS/login', methods=['POST']) -def login(): - data = request.get_data() - json_re = json.loads(data) - username = json_re['user'] - password = json_re['password'] - if username in users.keys() and password == users[username]: - return gen_token(username) - # gen_token(username) - #return 'yes' - else: - return "error" - - -@app.route('/SPDAS/domain_structure_analysis1', methods=['POST']) -def domain(): - param = ({"data_type": [{"value": "control"}, {"value": "application"}, {"value": "all"}], - "time": "2019-01-01 00:00:00/2019-01-02 00:00:00", - "graph_type": [{"value": "bar"}, {"value": "pie"}], - "image_path": "http://120.79.171.145:8000/plot_domain1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/domain_structure_analysis2', methods=['POST']) -def domain_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - print(json_re) - datatype = json_re['data_type'] - m_time = json_re['time'] - graphtype = json_re['graph_type'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - image_path = DS.data_statistics_plot(datatype=datatype, starttime=starttime, endtime=endtime, graphtype=graphtype) - path = ({"domain_image": image_path}) - return json.JSONEncoder().encode(path) - - -@app.route('/SPDAS/time_series_analysis1', methods=['POST']) -def time(): - param = ({"time_type": [{"value": "hour", "id": 1}, {"value": "day", "id": 2}, - {"value": "month", "id": 3}, {"value": "year", "id": 4}], - "time": "2019-01-01 00:00:00/2019-01-02 00:00:00", - "graph_type": [{"value": "bar"}, {"value": "pie"}], - "image_path": "http://120.79.171.145:8000/plot_time1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/time_series_analysis2', methods=['POST']) -def time_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - print(json_re) - timetype = json_re['time_type'] - m_time = json_re['time'] - graphtype = json_re['graph_type'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - image_path = TS.datetime_data_plot(timetype=timetype, starttime=starttime, endtime=endtime, graphtype=graphtype) - path = ({"time_image": image_path}) - return json.JSONEncoder().encode(path) - - -@app.route('/SPDAS/user_portrait_analysis1', methods=['POST']) -def user(): - param = ({"data_type": [{"value": "control"}, {"value": "application"}, {"value": "chat"}, {"value": "all"}], - "time": "2019-01-01 00:00:00/2019-01-02 00:00:00", - "image_path": "http://120.79.171.145:8000/plot_user1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/user_portrait_analysis2', methods=['POST']) -def user_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - print(json_re) - datatype = json_re['data_type'] - m_time = json_re['time'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - image_path = UP.portrait_plot(datatype=datatype, starttime=starttime, endtime=endtime) - path = {"user_image": image_path} - return json.JSONEncoder().encode(path) - - -@app.route('/SPDAS/chat_function_analysis/choice1', methods=['POST']) -def choice(): - param = ( - {"time": "2018-12-01 00:00:00/2018-12-28 20:00:00", "image_path": "http://120.79.171.145:8000/choice_num1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/chat_function_analysis/choice2', methods=['POST']) -# @cache.cached(timeout=60 * 30, key_prefix='choice_form') -def choice_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - print(json_re) - m_time = json_re['time'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - data_cluster = CF.Culter(start_time=starttime, end_time=endtime) - data_cluster.feature_extraction_data() - image_path = data_cluster.k_means(data_cluster.feature_matrix) - path = ({"num_image": image_path}) - return json.JSONEncoder().encode(path) - - -@app.route('/SPDAS/chat_function_analysis/chat1', methods=['POST']) -def chat(): - param = ({"time": "2018-12-01 00:00:00/2018-12-28 20:00:00", "best_num": "1", - "image1_path": "http://120.79.171.145:8000/hierachical_clusters1.jpg", - "image2_path": "http://120.79.171.145:8000/cluster_point1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/chat_function_analysis/chat2', methods=['POST']) -def chat_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - m_time = json_re['time'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - data_cluster = CF.Culter(start_time=starttime, end_time=endtime) - data_cluster.feature_extraction_data() - image_path = data_cluster.k_means(data_cluster.feature_matrix) - charnum = json_re['best_num'] - bestnum = int(charnum) - print(bestnum) - image_path1 = data_cluster.k_means_cluster(best_num=bestnum) - linkage_matrix = data_cluster.ward_hierarchical_clustering(data_cluster.feature_matrix) - - image_path2 = data_cluster.plot_hierarchical_clusters(linkage_matrix=linkage_matrix, m_data=data_cluster.chat_data, - figure_size=(35, 40)) - with open("/roobo/soft/phpmyadmin/chat_function_data.txt", 'w') as file: - file.writelines(data_cluster.out_data) - path = ({"cluster_point": image_path2, "ward_image": image_path1}) - return json.JSONEncoder().encode(path) - - -@app.route('/SPDAS/response_analysis1', methods=['POST']) -def response(): - param = ({"data_type": [{"value": "control"}, {"value": "application"}, {"value": "all"}], - "effect_type": [{"value": "cost_time"}, {"value": "response_error"}], - "time": "2019-01-01 00:00:00/2019-01-02 00:00:00", - "image_path": "http://120.79.171.145:8000/response_time1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/response_analysis2', methods=['POST']) -def response_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - print(json_re) - datatype = json_re['data_type'] - effecttype = json_re['effect_type'] - m_time = json_re['time'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - if effecttype == 'cost_time': - image_path = RT.cost_time_plot(datatype=datatype, starttime=starttime, endtime=endtime) - else: - image_path = RE.error_data_statistics_plot(datatype=datatype, starttime=starttime, endtime=endtime, - graphtype='bar') - path = ({"response_image": image_path}) - print(image_path) - return json.JSONEncoder().encode(path) - - -@app.route('/SPDAS/second_test1', methods=['POST']) -def second(): - param = ({"data_type": [{"value": "error_control"}, {"value": "error_application"}], - "time": "2019-01-01 00:00:00/2019-01-02 00:00:00", - "graph_type": [{"value": "bar"}, {"value": "pie"}], - "image_path": "http://120.79.171.145:8000/response_error1.jpg"}) - return json.JSONEncoder().encode(param) - - -@app.route('/SPDAS/second_test2', methods=['POST']) -def second_form(): - # 需要从request对象读取表单内容: - data = request.get_data() - json_re = json.loads(data) - print(json_re) - datatype = json_re['data_type'] - m_time = json_re['time'] - str_time = str(m_time) - m_time = str_time.split('/') - starttime = m_time[0] - endtime = m_time[1] - graphtype = json_re['graph_type'] - - image_path = ST.second_test_plot(datatype=datatype, starttime=starttime, endtime=endtime, graphtype=graphtype) - path = ({"test_image": image_path}) - return json.JSONEncoder().encode(path) - - -if __name__ == '__main__': - app.run(debug=True, host='10.7.19.129', port=5000)