modperl & modpython: fix GetType() at module construction time

This commit is contained in:
J-P Nurmi
2015-03-07 21:07:35 +01:00
parent 5aa8b0dcef
commit e62ed5f300
4 changed files with 8 additions and 10 deletions

View File

@@ -32,8 +32,8 @@ class CPyModule : public CModule {
VWebSubPages* _GetSubPages();
public:
CPyModule(CUser* pUser, CIRCNetwork* pNetwork, const CString& sModName, const CString& sDataPath,
PyObject* pyObj, CModPython* pModPython)
: CModule(nullptr, pUser, pNetwork, sModName, sDataPath) {
CModInfo::EModuleType eType, PyObject* pyObj, CModPython* pModPython)
: CModule(nullptr, pUser, pNetwork, sModName, sDataPath, eType) {
m_pyObj = pyObj;
Py_INCREF(pyObj);
m_pModPython = pModPython;
@@ -145,8 +145,8 @@ static inline CPyModule* AsPyModule(CModule* p) {
return dynamic_cast<CPyModule*>(p);
}
inline CPyModule* CreatePyModule(CUser* pUser, CIRCNetwork* pNetwork, const CString& sModName, const CString& sDataPath, PyObject* pyObj, CModPython* pModPython) {
return new CPyModule(pUser, pNetwork, sModName, sDataPath, pyObj, pModPython);
inline CPyModule* CreatePyModule(CUser* pUser, CIRCNetwork* pNetwork, const CString& sModName, const CString& sDataPath, CModInfo::EModuleType eType, PyObject* pyObj, CModPython* pModPython) {
return new CPyModule(pUser, pNetwork, sModName, sDataPath, eType, pyObj, pModPython);
}
class CPyTimer : public CTimer {

View File

@@ -538,12 +538,11 @@ def load_module(modname, args, module_type, user, network, retmsg, modpython):
return 1
module = cl()
module._cmod = CreatePyModule(user, network, modname, datapath, module, modpython)
module._cmod = CreatePyModule(user, network, modname, datapath, module_type, module, modpython)
module.nv = ModuleNV(module._cmod)
module.SetDescription(cl.description)
module.SetArgs(args)
module.SetModPath(pymodule.__file__)
module.SetType(module_type)
_py_modules.add(module)
if module_type == CModInfo.UserModule: