[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26884] trunk/blender: change python scripts so modules which register with blender have a register () function rather then making import automatically run the register functions (generally considered bad practice by python people)
Campbell Barton
ideasman42 at gmail.com
Sun Feb 14 12:21:21 CET 2010
Revision: 26884
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26884
Author: campbellbarton
Date: 2010-02-14 12:21:21 +0100 (Sun, 14 Feb 2010)
Log Message:
-----------
change python scripts so modules which register with blender have a register() function rather then making import automatically run the register functions (generally considered bad practice by python people)
Modified Paths:
--------------
trunk/blender/release/scripts/io/engine_render_pov.py
trunk/blender/release/scripts/io/export_3ds.py
trunk/blender/release/scripts/io/export_fbx.py
trunk/blender/release/scripts/io/export_mdd.py
trunk/blender/release/scripts/io/export_obj.py
trunk/blender/release/scripts/io/export_ply.py
trunk/blender/release/scripts/io/export_x3d.py
trunk/blender/release/scripts/io/import_anim_bvh.py
trunk/blender/release/scripts/io/import_scene_3ds.py
trunk/blender/release/scripts/io/import_scene_obj.py
trunk/blender/release/scripts/io/netrender/__init__.py
trunk/blender/release/scripts/modules/bpy/utils.py
trunk/blender/release/scripts/modules/bpy_types.py
trunk/blender/release/scripts/op/add_armature_human.py
trunk/blender/release/scripts/op/add_mesh_torus.py
trunk/blender/release/scripts/op/console_python.py
trunk/blender/release/scripts/op/console_shell.py
trunk/blender/release/scripts/op/euler_filter.py
trunk/blender/release/scripts/op/image.py
trunk/blender/release/scripts/op/mesh.py
trunk/blender/release/scripts/op/object.py
trunk/blender/release/scripts/op/object_align.py
trunk/blender/release/scripts/op/object_randomize_transform.py
trunk/blender/release/scripts/op/presets.py
trunk/blender/release/scripts/op/screen_play_rendered_anim.py
trunk/blender/release/scripts/op/sequencer.py
trunk/blender/release/scripts/op/uv.py
trunk/blender/release/scripts/op/uvcalc_follow_active.py
trunk/blender/release/scripts/op/uvcalc_smart_project.py
trunk/blender/release/scripts/op/vertexpaint_dirt.py
trunk/blender/release/scripts/op/wm.py
trunk/blender/release/scripts/ui/properties_animviz.py
trunk/blender/release/scripts/ui/properties_data_armature.py
trunk/blender/release/scripts/ui/properties_data_armature_rigify.py
trunk/blender/release/scripts/ui/properties_data_bone.py
trunk/blender/release/scripts/ui/properties_data_camera.py
trunk/blender/release/scripts/ui/properties_data_curve.py
trunk/blender/release/scripts/ui/properties_data_empty.py
trunk/blender/release/scripts/ui/properties_data_lamp.py
trunk/blender/release/scripts/ui/properties_data_lattice.py
trunk/blender/release/scripts/ui/properties_data_mesh.py
trunk/blender/release/scripts/ui/properties_data_metaball.py
trunk/blender/release/scripts/ui/properties_data_modifier.py
trunk/blender/release/scripts/ui/properties_game.py
trunk/blender/release/scripts/ui/properties_material.py
trunk/blender/release/scripts/ui/properties_object.py
trunk/blender/release/scripts/ui/properties_object_constraint.py
trunk/blender/release/scripts/ui/properties_particle.py
trunk/blender/release/scripts/ui/properties_physics_cloth.py
trunk/blender/release/scripts/ui/properties_physics_common.py
trunk/blender/release/scripts/ui/properties_physics_field.py
trunk/blender/release/scripts/ui/properties_physics_fluid.py
trunk/blender/release/scripts/ui/properties_physics_smoke.py
trunk/blender/release/scripts/ui/properties_physics_softbody.py
trunk/blender/release/scripts/ui/properties_render.py
trunk/blender/release/scripts/ui/properties_scene.py
trunk/blender/release/scripts/ui/properties_texture.py
trunk/blender/release/scripts/ui/properties_world.py
trunk/blender/release/scripts/ui/space_buttons.py
trunk/blender/release/scripts/ui/space_console.py
trunk/blender/release/scripts/ui/space_dopesheet.py
trunk/blender/release/scripts/ui/space_filebrowser.py
trunk/blender/release/scripts/ui/space_graph.py
trunk/blender/release/scripts/ui/space_image.py
trunk/blender/release/scripts/ui/space_info.py
trunk/blender/release/scripts/ui/space_logic.py
trunk/blender/release/scripts/ui/space_nla.py
trunk/blender/release/scripts/ui/space_node.py
trunk/blender/release/scripts/ui/space_outliner.py
trunk/blender/release/scripts/ui/space_sequencer.py
trunk/blender/release/scripts/ui/space_text.py
trunk/blender/release/scripts/ui/space_time.py
trunk/blender/release/scripts/ui/space_userpref.py
trunk/blender/release/scripts/ui/space_view3d.py
trunk/blender/release/scripts/ui/space_view3d_toolbar.py
trunk/blender/source/blender/python/intern/bpy_rna.c
Modified: trunk/blender/release/scripts/io/engine_render_pov.py
===================================================================
--- trunk/blender/release/scripts/io/engine_render_pov.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/engine_render_pov.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -854,7 +854,6 @@
self._cleanup()
-bpy.types.register(PovrayRender)
# Use some of the existing buttons.
import properties_render
@@ -944,4 +943,18 @@
col = split.column()
col.prop(scene, "pov_radio_always_sample")
-bpy.types.register(RENDER_PT_povray_radiosity)
+
+classes = [
+ PovrayRender,
+ RENDER_PT_povray_radiosity]
+
+
+def register():
+ register = bpy.types.register
+ for cls in classes:
+ register(cls)
+
+def unregister():
+ unregister = bpy.types.unregister
+ for cls in classes:
+ unregister(cls)
Modified: trunk/blender/release/scripts/io/export_3ds.py
===================================================================
--- trunk/blender/release/scripts/io/export_3ds.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/export_3ds.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -1136,11 +1136,17 @@
def poll(self, context): # Poll isnt working yet
return context.active_object != None
-bpy.types.register(Export3DS)
# Add to a menu
def menu_func(self, context):
default_path = bpy.data.filename.replace(".blend", ".3ds")
self.layout.operator(Export3DS.bl_idname, text="Autodesk 3DS...").path = default_path
-bpy.types.INFO_MT_file_export.append(menu_func)
+
+def register():
+ bpy.types.register(Export3DS)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(Export3DS)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
Modified: trunk/blender/release/scripts/io/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/io/export_fbx.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/export_fbx.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -3435,8 +3435,8 @@
return {'RUNNING_MODAL'}
-bpy.types.register(ExportFBX)
+
# if __name__ == "__main__":
# bpy.ops.EXPORT_OT_ply(filename="/tmp/test.ply")
@@ -3467,4 +3467,11 @@
default_path = bpy.data.filename.replace(".blend", ".fbx")
self.layout.operator(ExportFBX.bl_idname, text="Autodesk FBX...").path = default_path
-menu_item = bpy.types.INFO_MT_file_export.append(menu_func)
+
+def register():
+ bpy.types.register(ExportFBX)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(ExportFBX)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
Modified: trunk/blender/release/scripts/io/export_mdd.py
===================================================================
--- trunk/blender/release/scripts/io/export_mdd.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/export_mdd.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -181,14 +181,16 @@
wm.add_fileselect(self)
return {'RUNNING_MODAL'}
-bpy.types.register(ExportMDD)
-
def menu_func(self, context):
default_path = bpy.data.filename.replace(".blend", ".mdd")
self.layout.operator(ExportMDD.bl_idname, text="Vertex Keyframe Animation (.mdd)...").path = default_path
-bpy.types.INFO_MT_file_export.append(menu_func)
-if __name__ == '__main__':
- bpy.ops.export.mdd(path="/tmp/test.mdd")
+def register():
+ bpy.types.register(ExportMDD)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(ExportMDD)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
Modified: trunk/blender/release/scripts/io/export_obj.py
===================================================================
--- trunk/blender/release/scripts/io/export_obj.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/export_obj.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -958,17 +958,21 @@
wm.add_fileselect(self)
return {'RUNNING_MODAL'}
-bpy.types.register(ExportOBJ)
def menu_func(self, context):
default_path = bpy.data.filename.replace(".blend", ".obj")
self.layout.operator(ExportOBJ.bl_idname, text="Wavefront (.obj)...").path = default_path
-menu_item = bpy.types.INFO_MT_file_export.append(menu_func)
-if __name__ == "__main__":
- bpy.ops.EXPORT_OT_obj(filename="/tmp/test.obj")
+def register():
+ bpy.types.register(ExportOBJ)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(ExportOBJ)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
+
# CONVERSION ISSUES
# - matrix problem
# - duplis - only tested dupliverts
Modified: trunk/blender/release/scripts/io/export_ply.py
===================================================================
--- trunk/blender/release/scripts/io/export_ply.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/export_ply.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -313,14 +313,15 @@
row.prop(props, "use_colors")
-bpy.types.register(ExportPLY)
-
-
def menu_func(self, context):
default_path = bpy.data.filename.replace(".blend", ".ply")
self.layout.operator(ExportPLY.bl_idname, text="Stanford (.ply)...").path = default_path
-bpy.types.INFO_MT_file_export.append(menu_func)
-if __name__ == "__main__":
- bpy.ops.export.ply(path="/tmp/test.ply")
+def register():
+ bpy.types.register(ExportPLY)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(ExportPLY)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
Modified: trunk/blender/release/scripts/io/export_x3d.py
===================================================================
--- trunk/blender/release/scripts/io/export_x3d.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/export_x3d.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -1242,14 +1242,19 @@
wm.add_fileselect(self)
return {'RUNNING_MODAL'}
-bpy.types.register(ExportX3D)
-
def menu_func(self, context):
default_path = bpy.data.filename.replace(".blend", ".x3d")
self.layout.operator(ExportX3D.bl_idname, text="X3D Extensible 3D (.x3d)...").path = default_path
-bpy.types.INFO_MT_file_export.append(menu_func)
+def register():
+ bpy.types.register(ExportX3D)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(ExportX3D)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
+
# NOTES
# - blender version is hardcoded
Modified: trunk/blender/release/scripts/io/import_anim_bvh.py
===================================================================
--- trunk/blender/release/scripts/io/import_anim_bvh.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/import_anim_bvh.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -895,7 +895,12 @@
return {'RUNNING_MODAL'}
-bpy.types.register(BvhImporter)
+menu_func = lambda self, context: self.layout.operator(BvhImporter.bl_idname, text="Motion Capture (.bvh)...")
-menu_func = lambda self, context: self.layout.operator(BvhImporter.bl_idname, text="Motion Capture (.bvh)...")
-bpy.types.INFO_MT_file_import.append(menu_func)
+def register():
+ bpy.types.register(BvhImporter)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(BvhImporter)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
Modified: trunk/blender/release/scripts/io/import_scene_3ds.py
===================================================================
--- trunk/blender/release/scripts/io/import_scene_3ds.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/import_scene_3ds.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -1031,11 +1031,18 @@
wm.add_fileselect(self)
return {'RUNNING_MODAL'}
-bpy.types.register(IMPORT_OT_autodesk_3ds)
menu_func = lambda self, context: self.layout.operator(IMPORT_OT_autodesk_3ds.bl_idname, text="3D Studio (.3ds)...")
-bpy.types.INFO_MT_file_import.append(menu_func)
+
+def register():
+ bpy.types.register(IMPORT_OT_autodesk_3ds)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(IMPORT_OT_autodesk_3ds)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
+
# NOTES:
# why add 1 extra vertex? and remove it when done? - "Answer - eekadoodle - would need to re-order UV's without this since face order isnt always what we give blender, BMesh will solve :D"
# disabled scaling to size, this requires exposing bb (easy) and understanding how it works (needs some time)
Modified: trunk/blender/release/scripts/io/import_scene_obj.py
===================================================================
--- trunk/blender/release/scripts/io/import_scene_obj.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/import_scene_obj.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -1623,11 +1623,16 @@
return {'RUNNING_MODAL'}
-bpy.types.register(IMPORT_OT_obj)
+menu_func = lambda self, context: self.layout.operator(IMPORT_OT_obj.bl_idname, text="Wavefront (.obj)...")
-menu_func = lambda self, context: self.layout.operator(IMPORT_OT_obj.bl_idname, text="Wavefront (.obj)...")
-menu_item = bpy.types.INFO_MT_file_import.append(menu_func)
+def register():
+ bpy.types.register(IMPORT_OT_obj)
+ bpy.types.INFO_MT_file_export.append(menu_func)
+
+def unregister():
+ bpy.types.unregister(IMPORT_OT_obj)
+ bpy.types.INFO_MT_file_export.remove(menu_func)
# NOTES (all line numbers refer to 2.4x import_obj.py, not this file)
Modified: trunk/blender/release/scripts/io/netrender/__init__.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/__init__.py 2010-02-14 07:05:50 UTC (rev 26883)
+++ trunk/blender/release/scripts/io/netrender/__init__.py 2010-02-14 11:21:21 UTC (rev 26884)
@@ -35,3 +35,9 @@
init_file = ""
init_data = True
init_address = True
+
+def register():
+ pass # TODO
+
+def unregister():
+ pass # TODO
Modified: trunk/blender/release/scripts/modules/bpy/utils.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy/utils.py 2010-02-14 07:05:50 UTC (rev 26883)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list