Beispiel #1
0
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;
}
Beispiel #2
0
/* 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);
	}
}