/** * Create a list autocomplete keywords */ void PythonScript::generateAutoCompleteList() { GlobalInterpreterLock gil; PyObject *main_module = PyImport_AddModule("__main__"); PyObject *method = PyString_FromString("_ScopeInspector_GetFunctionAttributes"); PyObject *keywords(NULL); if( method && main_module ) { keywords = PyObject_CallMethodObjArgs(main_module, method, localDict, NULL); } else { return; } QStringList keywordList; if(PyErr_Occurred() || !keywords) { PyErr_Print(); return; } keywordList = pythonEnv()->toStringList(keywords); Py_DECREF(keywords); Py_DECREF(method); emit autoCompleteListGenerated(keywordList); }
/** * Create a list autocomplete keywords */ void PythonScript::generateAutoCompleteList() { ScopedPythonGIL lock; PyObject *keywords = PyObject_CallFunctionObjArgs( PyDict_GetItemString(m_interp->globalDict(), "_ScopeInspector_GetFunctionAttributes"), localDict, NULL); if (PyErr_Occurred() || !keywords) { PyErr_Print(); return; } QStringList keywordList = interp()->toStringList(keywords); Py_DECREF(keywords); emit autoCompleteListGenerated(keywordList); }