define movepaths for MovingPixmaps and proof of concept in the start-wizard
[enigma2.git] / lib / python / python.cpp
index 9e7e5c2..642d70b 100644 (file)
@@ -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
        {