Support loading the script from any path, truncate .py if needed.
This commit is contained in:
parent
9ccc3016cf
commit
8b10fe78a6
18
python-tg.c
18
python-tg.c
@ -28,7 +28,7 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <libgen.h>
|
||||
|
||||
#include <Python.h>
|
||||
#ifdef EVENT_V2
|
||||
@ -1271,18 +1271,26 @@ void inittgl()
|
||||
void py_init (const char *file) {
|
||||
if (!file) { return; }
|
||||
python_loaded = 0;
|
||||
|
||||
PyObject *pModule, *pDict;
|
||||
|
||||
// Get a copy of the filename for dirname, which may modify the string.
|
||||
char filename[100];
|
||||
strncpy(filename, file, 100);
|
||||
|
||||
Py_Initialize();
|
||||
inittgl();
|
||||
|
||||
|
||||
PyObject* sysPath = PySys_GetObject((char*)"path");
|
||||
PyList_Append(sysPath, PyString_FromString("."));
|
||||
|
||||
PyList_Append(sysPath, PyString_FromString(dirname(filename)));
|
||||
|
||||
// remove .py extension from file, if any
|
||||
char* dot = strrchr(file, '.');
|
||||
if (dot && strcmp(dot, ".py") == 0)
|
||||
*dot = 0;
|
||||
pModule = PyImport_Import(PyString_FromString(file));
|
||||
if(PyErr_Occurred()) { // Error loading script
|
||||
|
||||
if(pModule == NULL || PyErr_Occurred()) { // Error loading script
|
||||
logprintf("Failed to load python script\n");
|
||||
PyErr_Print();
|
||||
exit(1);
|
||||
|
Loading…
Reference in New Issue
Block a user