def get_package_parse(file_name): # 初始化对象 absolute_file_path = "{}{}".format(ABSOLUTE_BASE_PATH, file_name) new_package_instance = None attr_list = [] base_path = file_name.replace(".py", '') # 动态加载package try: new_pkg = imp.load_source(file_name, absolute_file_path) new_package_instance = new_pkg.Instance() # 删除掉临时模块 del sys.modules[file_name] except Exception as e: error_log = error_handel.log_traceback(e) attr_list.append({ "is_error": True, "file_name": file_name, "error_msg": error_log }) # 加载完成后返回 for name in dir(new_package_instance): if name[0] != '_': # 获取所有方法 attr_list.append({ "uri": "{}/{}".format(base_path, name), "data": util.format_script_info_data( getattr(new_package_instance, name)) }) return attr_list
def get_file_label_and_path(file_name): absolute_file_path = "{}{}".format(ABSOLUTE_BASE_PATH, file_name) new_package_instance = None attr_list = [] base_path = file_name.replace(".py", '') try: new_pkg = imp.load_source(file_name, absolute_file_path) new_package_instance = new_pkg.Instance() # 删除掉临时模块 del sys.modules[file_name] except Exception as e: error_log = error_handel.log_traceback(e) attr_list.append({ "label": "解析失败", "path": file_name, "is_error": True, "file_name": file_name, "error_msg": error_log }) for name in dir(new_package_instance): if name[0] != '_': # 获取所有方法 attr_list.append({ "label": name, "path": "{}/{}".format(base_path, name) }) return attr_list
def post(self): param = request.json # 设定全局变量 # b_globals.__set_request() try: g.env_name = param['env_name'] router = script_router.Route() return router.apply(param) # 删除全局变量 except Exception as e: # 删除全局变量 error_log = error_handel.log_traceback(e) return b_msg.error( msg={ 'type': type(e).__name__, 'message': error_log, 'requestBody': param, })
def post(self): """ params: param 参数是需要获取的URI的地址,案例 { rootPath: '/' } """ param = request.json try: router = script_router.Route() uri_list = router.get_scripts_list(param) return b_msg.success(data=uri_list) except Exception as e: error_log = error_handel.log_traceback(e) return b_msg.error( msg={ 'type': type(e).__name__, 'message': error_log, 'requestBody': param, })