| | |
| | | cout << "model error" << endl; |
| | | throw "模块调用失败!"; |
| | | } |
| | | cout << "load pymodel finished" << endl; |
| | | |
| | | //*************导入函数****************** |
| | | PyObject* pFunc = PyObject_GetAttrString(pModule, "${entity.methodName}"); |
| | |
| | | cout << "func error" << endl; |
| | | throw "函数调用失败!"; |
| | | } |
| | | cout << "load pyfunc finished" << endl; |
| | | #{foreach} ($column in [1..$entity.dataLength]) |
| | | PyObject* data_${column} = ConvertJdarrToPydarr(env, data${column}); |
| | | #{end} |
| | |
| | | cout << "return error" << endl; |
| | | throw "函数返回值异常!"; |
| | | } |
| | | cout << "load pyreturn finished" << endl; |
| | | PyObject* json_module = create_py_module("json"); |
| | | PyObject* dumps_func = PyObject_GetAttrString(json_module, "dumps"); |
| | | PyObject* json_str = PyObject_CallObject(dumps_func, PyTuple_Pack(1, pReturn)); |
| | | if (json_str == NULL) { |
| | | cout << "json_str is null" << endl; |
| | | PyErr_Print(); |
| | | return NULL; |
| | | } |
| | | const char* json_cstr = PyUnicode_AsUTF8(json_str); |
| | | cout << "pyreturn" << json_cstr << endl; |
| | | |
| | | //*******************返回数据封装************************ |
| | | // 开辟返回数据内存空间,转换数据,拆分数据 |
| | | |
| | |
| | | if (result == NULL) |
| | | { |
| | | cout << "ConvertPydictToJhmap error" << endl; |
| | | throw "函数返回值异常!"; |
| | | throw "函数返回值解析异常!"; |
| | | } |
| | | /*delete pModule; |
| | | pModule = nullptr; |
| | | delete pModule; |
| | | |
| | | delete pFunc; |
| | | pFunc = nullptr; |
| | | delete pFunc; |
| | | |
| | | #{foreach} ($column in [1..$entity.dataLength]) |
| | | delete[] data_${column}; |
| | | data_${column} = nullptr; |
| | | delete data_${column}; |
| | | |
| | | #{end} |
| | | #{if}($entity.model==1) |
| | | delete model_path; |
| | | model_path = nullptr; |
| | | delete model_path; |
| | | #{end} |
| | | |
| | | delete settings_1; |
| | | settings_1 = nullptr; |
| | | delete settings_1; |
| | | |
| | | delete[] pArg; |
| | | pArg = nullptr; |
| | | delete pArg; |
| | | |
| | | Py_DECREF(pReturn); |
| | | Py_DECREF(pFunc); |
| | | Py_DECREF(pModule); |
| | | Py_CLEAR(pModule);*/ |
| | | |
| | | return result; |
| | | } |