Added "scripts/modules" as permanent module search path.

- added bpy.sys as a python module - with bpy.sys.expandpath()
- moved bpy.ops into scripts/modules
- moved autocomplete into its own module from space_console.py
This commit is contained in:
2009-09-28 04:29:01 +00:00
parent 8ea2904693
commit dab61acd45
6 changed files with 253 additions and 215 deletions

View File

@@ -176,7 +176,34 @@ static void bpy_init_modules( void )
PyDict_SetItemString(PySys_GetObject("modules"), "bpy", mod);
Py_DECREF(mod);
/* add our own modules dir */
{
char *modpath= BLI_gethome_folder("scripts/modules", BLI_GETHOME_ALL);
if(modpath) {
PyObject *sys_path= PySys_GetObject("path"); /* borrow */
PyObject *py_modpath= PyUnicode_FromString(modpath);
PyList_Insert(sys_path, 0, py_modpath); /* add first */
Py_DECREF(py_modpath);
}
mod= PyImport_ImportModuleLevel("bpy_ops", NULL, NULL, NULL, 0); /* adds its self to bpy.ops */
if(mod) {
Py_DECREF(mod);
}
else {
PyErr_Clear();
}
mod= PyImport_ImportModuleLevel("bpy_sys", NULL, NULL, NULL, 0); /* adds its self to bpy.sys */
if(mod) {
Py_DECREF(mod);
}
else {
PyErr_Clear();
}
}
/* stand alone utility modules not related to blender directly */
Geometry_Init();
Mathutils_Init();