def init_database_sec_diff_local(): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() sql_create_sec_diff = "create table if not exists sec_diff (type_name text,diff text);" cursor.execute(sql_create_sec_diff) with open('./resources/diff.csv', 'r') as f: list_tmp = f.readlines() list_real_data = [ item.replace("\n", "").split(",") for item in list_tmp ] del list_tmp db_insert_diff(list_real_data, cursor) del list_real_data cursor.close() connect.commit() connect.close() return jsonify({ "status": "successful", "content": "Database initialization succeeded", "function": "init_database_sec_diff_local" }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def detect_diff(): try: connect = sqlite3.connect('./resources/diff.db') result = real_time_diff_detect(request.json['data'], connect=connect) connect.close() if result is None: return jsonify({ "status": "successful", "content": "Detect data by Diff", "function": "detect_diff" }), 200 else: return jsonify(result[0]), result[1] except Exception as err: print(err) list_tmp = exceptionHandler(err) if list_tmp[0][ "exceptionContent"] == "no such table: sensor_last_data": connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() cursor.execute( "create table if not exists sensor_last_data(sensor_id text,last_data text)" ) cursor.close() connect.commit() real_time_diff_detect(request.json['data'], connect=connect) return jsonify(list_tmp[0]), list_tmp[1]
def model_delete(): try: path_model_path = "./ModelLibrary/" + request.json["modelName"] + '.pkl' import os if os.path.exists(path_model_path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(path_model_path) return jsonify({ "status": "successful", "content": "Model deleted successfully", "function": "model_delete" }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def database_sec_diff_select_single(): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() db_select_diff_single(request.json['data'], cursor, True) connect.commit() connect.close() return jsonify({ "status": "successful", "content": "Single data query successful", "function": "database_sec_diff_select_single" }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def file_delete(filename: str): try: import os if os.path.exists("./resources/" + filename): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove("./resources/" + filename) return JSONResponse(status_code=200, content={ "status": "successful", "content": "File deleted successful", "function": "file_delete" }) except Exception as err: list_tmp = exceptionHandler(err) return JSONResponse(status_code=list_tmp[1], content=(list_tmp[0]))
def detect_joblib(): try: file_path = "./ModelLibrary/" + request.json["modelName"] + '.pkl' from pathlib import Path import joblib clf = joblib.load(file_path) result = clf.predict(request["data"]) return jsonify({ "status": "successful", "content": "Data query successful", "function": "detect_joblib", "result": str(result) }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def database_sec_diff_select_all(): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() result = db_select_diff_all(request.json['data'], cursor, True) connect.commit() connect.rollback() connect.close() return jsonify({ "status": "successful", "content": "Data query successful", "function": "database_sec_diff_select_all", "result": str(result) }), 200 except Exception as err: return exceptionHandler(err)
def file_delete(): try: file = request.files['file'] file_path = "./resources/" + secure_filename(file.filename) import os if os.path.exists(file_path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(file_path) return jsonify({ "status": "successful", "content": "File deleted successful", "function": "file_delete" }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def database_sec_diff_select_single(request_json: RequestJSON): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() db_select_diff_single(request_json.data, cursor, True) connect.commit() connect.close() return JSONResponse(status_code=200, content={ "status": "successful", "content": "Single data query successful", "function": "database_sec_diff_select_single" }) except Exception as err: list_tmp = exceptionHandler(err) return JSONResponse(status_code=list_tmp[1], content=(list_tmp[0]))
def model_delete(modelName: str): try: path_model_path = "./ModelLibrary/" + modelName + '.pkl' import os if os.path.exists(path_model_path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(path_model_path) return JSONResponse(status_code=200, content={ "status": "successful", "content": "Model deleted successfully", "function": "model_delete" }) except Exception as err: list_tmp = exceptionHandler(err) return JSONResponse(status_code=list_tmp[1], content=(list_tmp[0]))
async def mode_upload(file: UploadFile = File(...)): try: contents = await file.read() file_path = "./ModelLibrary/" + secure_filename(file.filename) with open(file_path, 'wb') as f: f.write(contents) return JSONResponse(status_code=200, content={ "status": "successful", "content": "Model upload successful", "function": "mode_upload" }) except Exception as err: list_tmp = exceptionHandler(err) return JSONResponse(status_code=list_tmp[1], content=(list_tmp[0]))
def mode_upload(): try: file = request.files['model'] file_path = "./ModelLibrary/" + secure_filename(file.filename) import os if os.path.exists(file_path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(file_path) file.save(file_path) return jsonify({ "status": "successful", "content": "File upload successful", "function": "mode_upload" }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def detect_joblib(request_json: RequestJSON, modelName: str): try: file_path = "./ModelLibrary/" + modelName + '.pkl' from pathlib import Path import joblib clf = joblib.load(file_path) result = clf.predict(request_json) return JSONResponse(status_code=200, content={ "status": "successful", "content": "Data query successful", "function": "detect_joblib", "result": str(result) }) except Exception as err: list_tmp = exceptionHandler(err) return JSONResponse(status_code=list_tmp[1], content=(list_tmp[0]))
def database_sec_diff_select_all(request_json: RequestJSON): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() result = db_select_diff_all(request_json.data, cursor, True) connect.commit() connect.rollback() connect.close() return JSONResponse(status_code=200, content={ "status": "successful", "content": "Data query successful", "function": "database_sec_diff_select_all", "result": str(result) }) except Exception as err: return exceptionHandler(err)
def init_database_sec_diff(): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() sql_create_sec_diff = "create table if not exists sec_diff (type_name text,diff text);" cursor.execute(sql_create_sec_diff) db_insert_diff(request.json['data'], cursor) cursor.close() connect.commit() connect.close() return jsonify({ "status": "successful", "content": "Database initialization succeeded", "function": "init_database_sec_diff" }), 200 except Exception as err: list_tmp = exceptionHandler(err) return jsonify(list_tmp[0]), list_tmp[1]
def init_database_sec_diff(request_json: RequestJSON): try: connect = sqlite3.connect('./resources/diff.db') cursor = connect.cursor() cursor.execute( "create table if not exists sec_diff (type_name text,diff text);") db_insert_diff(request_json.data, cursor) cursor.close() connect.commit() connect.close() return JSONResponse(status_code=200, content=({ "status": "successful", "content": "Database initialization succeeded", "function": "init_database_sec_diff" })) except Exception as err: list_tmp = exceptionHandler(err) return JSONResponse(status_code=list_tmp[1], content=(list_tmp[0]))