MCPcopy Create free account
hub / github.com/mhammond/pywin32 / LoadHandler

Method LoadHandler

isapi/src/PythonEng.cpp:201–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

199}
200
201bool CPythonHandler::LoadHandler(bool reload)
202{
203 char szErrBuf[1024];
204 PyObject *m;
205 CEnterLeavePython celp;
206 m = PyImport_ImportModule(m_engine->m_module_name);
207 if (m && reload) {
208 PyObject *m_orig = m;
209 m = PyImport_ReloadModule(m);
210 Py_DECREF(m_orig);
211 }
212 if (!m) {
213 _snprintf(szErrBuf, sizeof(szErrBuf)/sizeof(szErrBuf[0]),
214 "Failed to import callback module '%s'", m_engine->m_module_name);
215 ExtensionError(NULL, szErrBuf);
216 }
217 if (m) {
218 Py_XDECREF(m_handler);
219 if (!((m_handler = PyObject_CallMethod(m, (char *)m_namefactory, NULL)))) {
220 _snprintf(szErrBuf, sizeof(szErrBuf)/sizeof(szErrBuf[0]),
221 "Factory function '%s' failed", m_namefactory);
222 ExtensionError(NULL, szErrBuf);
223 }
224 Py_DECREF(m);
225 }
226 return m_handler != NULL;
227}
228
229
230bool CPythonHandler::CheckCallback(const char *cbname, PyObject **cb)

Callers

nothing calls this directly

Calls 1

ExtensionErrorFunction · 0.70

Tested by

no test coverage detected