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

@ -48,21 +48,8 @@ import os
import sys import sys
def clear_scene(): def batch_import(
import bpy operator="",
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="", path="",
save_path="", save_path="",
match="", match="",
@ -71,6 +58,7 @@ def batch_import(operator="",
): ):
import addon_utils import addon_utils
_reset_all = addon_utils.reset_all # XXX, hack _reset_all = addon_utils.reset_all # XXX, hack
_disable_all = addon_utils.disable_all # XXX, hack
import fnmatch import fnmatch
@ -116,11 +104,12 @@ def batch_import(operator="",
# hack so loading the new file doesn't undo our loaded addons # hack so loading the new file doesn't undo our loaded addons
addon_utils.reset_all = lambda: None # XXX, hack 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 addon_utils.reset_all = _reset_all # XXX, hack
clear_scene() addon_utils.disable_all = _disable_all # XXX, hack
result = op(filepath=f) result = op(filepath=f)

@ -65,6 +65,7 @@ op_blacklist = (
"wm.blenderplayer_start", "wm.blenderplayer_start",
"wm.recover_auto_save", "wm.recover_auto_save",
"wm.quit_blender", "wm.quit_blender",
"wm.window_close",
"wm.url_open", "wm.url_open",
"wm.doc_view", "wm.doc_view",
"wm.doc_edit", "wm.doc_edit",
@ -308,16 +309,7 @@ def run_ops(operators, setup_func=None, reset=True):
# contexts # contexts
def ctx_clear_scene(): # copied from batch_import.py def ctx_clear_scene(): # copied from batch_import.py
unique_obs = set() bpy.ops.wm.read_factory_settings(use_empty=True)
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 ctx_editmode_mesh(): def ctx_editmode_mesh():