Use 'empty' option for clearing factory settings

This commit is contained in:
Campbell Barton 2017-03-29 19:18:09 +11:00
parent df7f6a3e2e
commit 6332e0e1f7
2 changed files with 14 additions and 33 deletions

View File

@ -48,29 +48,17 @@ import os
import sys
def clear_scene():
import bpy
unique_obs = set()
for scene in bpy.data.scenes:
for obj in scene.objects[:]:
scene.objects.unlink(obj)
unique_obs.add(obj)
# remove obdata, for now only worry about the startup scene
for bpy_data_iter in (bpy.data.objects, bpy.data.meshes, bpy.data.lamps, bpy.data.cameras):
for id_data in bpy_data_iter:
bpy_data_iter.remove(id_data)
def batch_import(operator="",
path="",
save_path="",
match="",
start=0,
end=sys.maxsize,
):
def batch_import(
operator="",
path="",
save_path="",
match="",
start=0,
end=sys.maxsize,
):
import addon_utils
_reset_all = addon_utils.reset_all # XXX, hack
_disable_all = addon_utils.disable_all # XXX, hack
import fnmatch
@ -116,11 +104,12 @@ def batch_import(operator="",
# hack so loading the new file doesn't undo our loaded addons
addon_utils.reset_all = lambda: None # XXX, hack
addon_utils.disable_all = lambda: None # XXX, hack
bpy.ops.wm.read_factory_settings()
bpy.ops.wm.read_factory_settings(use_empty=True)
addon_utils.reset_all = _reset_all # XXX, hack
clear_scene()
addon_utils.disable_all = _disable_all # XXX, hack
result = op(filepath=f)

View File

@ -65,6 +65,7 @@ op_blacklist = (
"wm.blenderplayer_start",
"wm.recover_auto_save",
"wm.quit_blender",
"wm.window_close",
"wm.url_open",
"wm.doc_view",
"wm.doc_edit",
@ -308,16 +309,7 @@ def run_ops(operators, setup_func=None, reset=True):
# contexts
def ctx_clear_scene(): # copied from batch_import.py
unique_obs = set()
for scene in bpy.data.scenes:
for obj in scene.objects[:]:
scene.objects.unlink(obj)
unique_obs.add(obj)
# remove obdata, for now only worry about the startup scene
for bpy_data_iter in (bpy.data.objects, bpy.data.meshes, bpy.data.lamps, bpy.data.cameras):
for id_data in bpy_data_iter:
bpy_data_iter.remove(id_data)
bpy.ops.wm.read_factory_settings(use_empty=True)
def ctx_editmode_mesh():