static PyObject *bpy_blend_paths(PyObject *UNUSED(self), PyObject *args, PyObject *kw) { int flag = 0; PyObject *list; bool absolute = false; bool packed = false; bool local = false; static const char *kwlist[] = {"absolute", "packed", "local", NULL}; if (!PyArg_ParseTupleAndKeywords( args, kw, "|O&O&O&:blend_paths", (char **)kwlist, PyC_ParseBool, &absolute, PyC_ParseBool, &packed, PyC_ParseBool, &local)) { return NULL; } if (absolute) flag |= BKE_BPATH_TRAVERSE_ABS; if (!packed) flag |= BKE_BPATH_TRAVERSE_SKIP_PACKED; if (local) flag |= BKE_BPATH_TRAVERSE_SKIP_LIBRARY; list = PyList_New(0); BKE_bpath_traverse_main(G.main, bpy_blend_paths_visit_cb, flag, (void *)list); return list; }
/* make sure path names are correct for OS */ static void clean_paths(Main *main) { Scene *scene; BKE_bpath_traverse_main(main, clean_paths_visit_cb, BKE_BPATH_TRAVERSE_SKIP_MULTIFILE, NULL); for (scene = main->scene.first; scene; scene = scene->id.next) { BLI_path_native_slash(scene->r.pic); } }