Пример #1
0
/**
 * 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);
}
Пример #2
0
/**
 * 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);
}