Data Structures | |
class | CPyExport |
class | IPythonModule |
Functions | |
void | endPythonInterface (CPyExport *Int) |
PyMethodDef * | getLib () |
CPyExport * | initPythonLib (NLAIC::IIO *P, char *pathWay) |
PyObject * | print (PyObject *Self, PyObject *Arg) |
PyObject * | printNbr (PyObject *Self, PyObject *Arg) |
PyObject * | read (PyObject *Self, PyObject *Arg) |
Variables | |
PyObject * | Dictionarry = NULL |
NLAIC::IIO * | Interface |
PyMethodDef | M_Constructeur [] |
|
Definition at line 251 of file pythonmethode.cpp. References Dictionarry, Interface, and NLAIC::IPointerGestion::release().
|
|
Definition at line 164 of file pythonmethode.cpp. References M_Constructeur.
00165 { 00166 return M_Constructeur; 00167 } |
|
Definition at line 171 of file pythonmethode.cpp. References Dictionarry, Interface, M_Constructeur, NLAIC::Out(), and NLAIPYSERVER::CPyExport::runCode().
00172 { 00173 //char S[MAX_PATH + 1]; 00174 //HKEY hKey; 00175 00176 Interface = P; 00177 00178 Py_Initialize(); 00179 00180 #ifdef NL_DEBUG 00181 char *k = (char *)Py_GetPlatform(); 00182 k = (char *)Py_GetVersion(); 00183 k = (char *)Py_GetProgramFullPath(); 00184 k = (char *)Py_GetPath(); 00185 k = (char *)Py_GetProgramName(); 00186 k = (char *)Py_GetPrefix(); 00187 k = (char *)Py_GetExecPrefix(); 00188 #endif 00189 00190 std::string PathPython = Py_GetPath(); 00191 //PathPython = new char[ strlen(Py_GetPath() ) + strlen(pathWay) + 3]; 00192 //memset(PathPython,0,strlen(Py_GetPath() ) + strlen(pathWay) + 3); 00193 00194 /*strcpy(S,PathPython); 00195 strcat(S,"/PyLib");*/ 00196 00197 //const char delem[2] = {DELIM,0}; 00198 00199 CPyExport *m_pPyLib = new CPyExport; 00200 00201 PathPython += CPyExport::getPathSeparator(); 00202 /*#ifdef NL_OS_WINDOWS 00203 //sprintf(PathPython,"%s;%s",Py_GetPath(),pathWay); 00204 PathPython += ";"; 00205 #else 00206 //sprintf(PathPython,"%s:%s",Py_GetPath(),pathWay); 00207 PathPython += ":"; 00208 #endif*/ 00209 PathPython += pathWay; 00210 00211 PySys_SetPath((char *)PathPython.c_str()); 00212 00213 #ifdef NL_DEBUG 00214 NLAIC::Out("%s\n",(char *)Py_GetPath()); 00215 k = (char *)Py_GetPath(); 00216 #endif 00217 00218 Dictionarry = Py_InitModule("RysonSytemeIO",M_Constructeur); 00219 00220 char CodeExec[] = "import sys\n" 00221 "from RysonSytemeIO import *\n" 00222 "class PyWindowInOut:\n" 00223 "\tdef write(self, s, tags=(), mark='insert'):\n" 00224 "\t\tEcho(s)\n\n" 00225 "\tdef writelines(self, l):\n" 00226 "\t\tmap(self.write, l)\n\n" 00227 "\tdef read(self, length = None):\n" 00228 "\t\treturn Read()\n\n" 00229 "\tdef readline(self, length = None):\n" 00230 "\t\treturn Read()\n\n" 00231 "\tdef readlines(self, length = None):\n" 00232 "\t\treturn Read()\n\n\n" 00233 "sys.stdout = PyWindowInOut()\n" 00234 "sys.stderr = PyWindowInOut()\n" 00235 "sys.stdin = PyWindowInOut()\n" 00236 "sys.argv = ' '\n" 00237 "sys.argc = 1\n"; 00238 00239 m_pPyLib->runCode(CodeExec); 00240 00241 char CodeExec2[] = "import sys\n" 00242 "print 'Hello this is a window trace for python input/output statement ............................................................................'\n"; 00243 00244 00245 m_pPyLib->runCode(CodeExec2); 00246 00247 00248 return m_pPyLib; 00249 } |
|
Definition at line 72 of file pythonmethode.cpp. References NLAIC::IIO::Echo(), and Interface.
00073 { 00074 char *Text = NULL; 00075 char T[2] = {'\n',0}; 00076 /*Py_UNICODE u[200]; 00077 PyObject *argi; 00078 argi = PyTuple_GetItem (Arg, 0); 00079 PyUnicodeObject *self = (PyUnicodeObject *)PyUnicode_FromObject(argi); 00080 00081 if (self != NULL) 00082 { 00083 sint32 i = 0; 00084 char str[200]; 00085 while(self->str[i]) 00086 { 00087 u[i] = self->str[i]; 00088 str[i] = (char)self->str[i]; 00089 i ++; 00090 } 00091 u[i] = 0; 00092 str[i] = 0; 00093 } 00094 00095 if(PyArg_ParseTuple(Arg,"u",&u)) 00096 { 00097 //u = (short *)Text; 00098 } 00099 else*/ 00100 if(!PyArg_ParseTuple(Arg,"s",&Text)) 00101 { 00102 Text = T; 00103 } 00104 00105 Interface->Echo("%s",Text); 00106 PyObject *R = Py_BuildValue("i",true); 00107 return R; 00108 } |
|
Definition at line 110 of file pythonmethode.cpp. References NLAIC::Out(), and sint32.
00111 { 00112 sint32 Text; 00113 00114 if(!PyArg_ParseTuple(Arg,"i",&Text)) return NULL; 00115 NLAIC::Out("%0x",Text); 00116 return Py_BuildValue("i",true); 00117 } |
|
Definition at line 119 of file pythonmethode.cpp. References NLAIC::IIO::InPut(), and Interface.
|
|
Definition at line 169 of file pythonmethode.cpp. Referenced by endPythonInterface(), and initPythonLib(). |
|
Definition at line 71 of file pythonmethode.cpp. Referenced by endPythonInterface(), initPythonLib(), print(), and read(). |
|
Initial value: { {"Echo", print ,METH_VARARGS}, {"Nbr", printNbr ,METH_VARARGS}, {"Read", read ,METH_VARARGS}, {NULL,NULL} } Definition at line 153 of file pythonmethode.cpp. Referenced by getLib(), and initPythonLib(). |