X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/9202d4248dd7df2f6e5eb53b4154c8297ec9b1d1..14b7e204d87ca1ad0d4f3056cf4b923495c261ef:/lib/python/python.cpp diff --git a/lib/python/python.cpp b/lib/python/python.cpp index 14e32af6..642d70ba 100644 --- a/lib/python/python.cpp +++ b/lib/python/python.cpp @@ -95,21 +95,26 @@ int ePython::execute(const std::string &pythonfile, const std::string &funcname) return 0; } -void ePython::call(PyObject *pFunc, PyObject *pArgs) +int ePython::call(PyObject *pFunc, PyObject *pArgs) { + int res = -1; PyObject *pValue; if (pFunc && PyCallable_Check(pFunc)) { pValue = PyObject_CallObject(pFunc, pArgs); if (pValue != NULL) { -// printf("Result of call: %ld\n", PyInt_AsLong(pValue)); + if (PyInt_Check(pValue)) + res = PyInt_AsLong(pValue); + else + res = 0; Py_DECREF(pValue); } else { PyErr_Print(); } } + return res; } PyObject *ePython::resolve(const std::string &pythonfile, const std::string &funcname) @@ -127,7 +132,6 @@ PyObject *ePython::resolve(const std::string &pythonfile, const std::string &fun pFunc = PyDict_GetItemString(pDict, funcname.c_str()); Py_XINCREF(pFunc); Py_DECREF(pModule); - eDebug("resolved to %p", pFunc); return pFunc; } else {