[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33187] trunk/blender/release/scripts: - use relative imports for packages

Campbell Barton ideasman42 at gmail.com
Sat Nov 20 03:57:00 CET 2010


Revision: 33187
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33187
Author:   campbellbarton
Date:     2010-11-20 03:56:58 +0100 (Sat, 20 Nov 2010)

Log Message:
-----------
- use relative imports for packages
- reload() has been removed from pythons builtins. use imp.reload() instead (still need to apply globally).
- fixed own mistake, not ignoring 'filter_glob' as a keyword argument (broke fbx, obj, 3ds export)

Modified Paths:
--------------
    trunk/blender/release/scripts/modules/bpy/__init__.py
    trunk/blender/release/scripts/modules/bpy/utils.py
    trunk/blender/release/scripts/op/console_python.py
    trunk/blender/release/scripts/op/io_anim_bvh/__init__.py
    trunk/blender/release/scripts/op/io_mesh_ply/__init__.py
    trunk/blender/release/scripts/op/io_scene_3ds/__init__.py
    trunk/blender/release/scripts/op/io_scene_fbx/__init__.py
    trunk/blender/release/scripts/op/io_scene_obj/__init__.py
    trunk/blender/release/scripts/op/io_scene_x3d/__init__.py
    trunk/blender/release/scripts/op/io_shape_mdd/__init__.py

Modified: trunk/blender/release/scripts/modules/bpy/__init__.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/modules/bpy/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -26,10 +26,9 @@
 context = _bpy.context
 
 # python modules
-from bpy import utils, path
+from . import utils, path
+from . import ops as _ops_module
 
-from bpy import ops as _ops_module
-
 # fake operator module
 ops = _ops_module.ops_fake_module
 

Modified: trunk/blender/release/scripts/modules/bpy/utils.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy/utils.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/modules/bpy/utils.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -23,14 +23,13 @@
 not assosiated with blenders internal data.
 """
 
+from _bpy import blend_paths, user_resource
+from _bpy import script_paths as _bpy_script_paths
+
 import bpy as _bpy
 import os as _os
 import sys as _sys
 
-from _bpy import blend_paths, user_resource
-from _bpy import script_paths as _bpy_script_paths
-
-
 def _test_import(module_name, loaded_modules):
     import traceback
     import time

Modified: trunk/blender/release/scripts/op/console_python.py
===================================================================
--- trunk/blender/release/scripts/op/console_python.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/console_python.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -82,6 +82,9 @@
         namespace["__builtins__"] = sys.modules["builtins"]
         namespace["bpy"] = bpy
         namespace["C"] = bpy.context
+        
+        namespace.update(__import__("mathutils").__dict__) # from mathutils import *
+        namespace.update(__import__("math").__dict__) # from math import *
 
         console = InteractiveConsole(locals=namespace, filename="<blender_console>")
 
@@ -263,6 +266,7 @@
     add_scrollback("Autocomplete:     Ctrl+Space", 'OUTPUT')
     add_scrollback("Ctrl +/-  Wheel:  Zoom", 'OUTPUT')
     add_scrollback("Builtin Modules: bpy, bpy.data, bpy.ops, bpy.props, bpy.types, bpy.context, bgl, blf, mathutils", 'OUTPUT')
+    add_scrollback("Convenience Imports: from mathutils import *; from math import *", 'OUTPUT')
     add_scrollback("", 'OUTPUT')
     add_scrollback("  WARNING!!! Blender 2.5 API is subject to change, see API reference for more info.", 'ERROR')
     add_scrollback("", 'OUTPUT')

Modified: trunk/blender/release/scripts/op/io_anim_bvh/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_anim_bvh/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/io_anim_bvh/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -20,9 +20,9 @@
 
 # To support reload properly, try to access a package var, if it's there, reload everything
 if "bpy" in locals():
-    # only reload if we alredy loaded, highly annoying
-    import sys
-    reload(sys.modules.get("io_anim_bvh.import_bvh", sys))
+    from imp import reload
+    if "import_bvh" in locals():
+        reload(import_bvh)
 
 
 import bpy
@@ -56,8 +56,8 @@
                 default='NATIVE')
 
     def execute(self, context):
-        import io_anim_bvh.import_bvh
-        return io_anim_bvh.import_bvh.load(self, context, **self.as_keywords(ignore=("filter_glob",)))
+        from . import import_bvh
+        return import_bvh.load(self, context, **self.as_keywords(ignore=("filter_glob",)))
 
 
 def menu_func(self, context):

Modified: trunk/blender/release/scripts/op/io_mesh_ply/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_mesh_ply/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/io_mesh_ply/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -18,8 +18,9 @@
 
 # To support reload properly, try to access a package var, if it's there, reload everything
 if "bpy" in locals():
-    import sys
-    reload(sys.modules.get("io_mesh_ply.export_ply", sys))
+    from imp import reload
+    if "export_ply" in locals():
+        reload(export_ply)
 
 
 import bpy
@@ -47,8 +48,8 @@
     def execute(self, context):
         filepath = self.filepath
         filepath = bpy.path.ensure_ext(filepath, self.filename_ext)
-        import io_mesh_ply.export_ply
-        return io_mesh_ply.export_ply.save(self, context, **self.as_keywords(ignore=("check_existing",)))
+        from . import export_ply
+        return export_ply.save(self, context, **self.as_keywords(ignore=("check_existing", "filter_glob")))
 
     def draw(self, context):
         layout = self.layout

Modified: trunk/blender/release/scripts/op/io_scene_3ds/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_3ds/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/io_scene_3ds/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -20,9 +20,11 @@
 
 # To support reload properly, try to access a package var, if it's there, reload everything
 if "bpy" in locals():
-    import sys
-    reload(sys.modules.get("io_scene_3ds.import_3ds", sys))
-    reload(sys.modules.get("io_scene_3ds.export_3ds", sys))
+    from imp import reload
+    if "import_3ds" in locals():
+        reload(import_3ds)
+    if "export_3ds" in locals():
+        reload(export_3ds)
 
 
 import bpy
@@ -43,8 +45,8 @@
     use_apply_transform = BoolProperty(name="Apply Transform", description="Workaround for object transformations importing incorrectly", default=True)
 
     def execute(self, context):
-        import io_scene_3ds.import_3ds
-        return io_scene_3ds.import_3ds.load(self, context, **self.as_keywords(ignore=("filter_glob",)))
+        from . import import_3ds
+        return import_3ds.load(self, context, **self.as_keywords(ignore=("filter_glob",)))
 
 
 class Export3DS(bpy.types.Operator, ExportHelper):
@@ -56,8 +58,8 @@
     filter_glob = StringProperty(default="*.3ds", options={'HIDDEN'})
 
     def execute(self, context):
-        import io_scene_3ds.export_3ds
-        return io_scene_3ds.export_3ds.save(self, context, **self.as_keywords(ignore=("check_existing",)))
+        from . import export_3ds
+        return export_3ds.save(self, context, **self.as_keywords(ignore=("check_existing", "filter_glob")))
 
 
 # Add to a menu

Modified: trunk/blender/release/scripts/op/io_scene_fbx/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_fbx/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/io_scene_fbx/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -20,9 +20,9 @@
 
 # To support reload properly, try to access a package var, if it's there, reload everything
 if "bpy" in locals():
-    # only reload if we alredy loaded, highly annoying
-    import sys
-    reload(sys.modules.get("io_scene_fbx.export_fbx", sys))
+    from imp import reload
+    if "export_fbx" in locals():
+        reload(export_fbx)
 
 
 import bpy
@@ -87,7 +87,7 @@
             GLOBAL_MATRIX = mtx4_z90n * GLOBAL_MATRIX
 
         import io_scene_fbx.export_fbx
-        return io_scene_fbx.export_fbx.save(self, context, **self.as_keywords(ignore=("TX_XROT90", "TX_YROT90", "TX_ZROT90", "TX_SCALE", "check_existing")))
+        return io_scene_fbx.export_fbx.save(self, context, **self.as_keywords(ignore=("TX_XROT90", "TX_YROT90", "TX_ZROT90", "TX_SCALE", "check_existing", "filter_glob")))
 
 
 def menu_func(self, context):

Modified: trunk/blender/release/scripts/op/io_scene_obj/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_obj/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/io_scene_obj/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -20,10 +20,11 @@
 
 # To support reload properly, try to access a package var, if it's there, reload everything
 if "bpy" in locals():
-    # only reload if we alredy loaded, highly annoying
-    import sys
-    reload(sys.modules.get("io_scene_obj.import_obj", sys))
-    reload(sys.modules.get("io_scene_obj.export_obj", sys))
+    from imp import reload
+    if "import_obj" in locals():
+        reload(import_obj)
+    if "export_obj" in locals():
+        reload(export_obj)
 
 
 import bpy
@@ -55,8 +56,8 @@
 
     def execute(self, context):
         # print("Selected: " + context.active_object.name)
-        import io_scene_obj.import_obj
-        return io_scene_obj.import_obj.load(self, context, **self.as_keywords(ignore=("filter_glob",)))
+        from . import import_obj
+        return import_obj.load(self, context, **self.as_keywords(ignore=("filter_glob",)))
 
 
 class ExportOBJ(bpy.types.Operator, ExportHelper):
@@ -99,8 +100,8 @@
 
 
     def execute(self, context):
-        import io_scene_obj.export_obj
-        return io_scene_obj.export_obj.save(self, context, **self.as_keywords(ignore=("check_existing",)))
+        from . import export_obj
+        return export_obj.save(self, context, **self.as_keywords(ignore=("check_existing", "filter_glob")))
 
 
 def menu_func_import(self, context):

Modified: trunk/blender/release/scripts/op/io_scene_x3d/__init__.py
===================================================================
--- trunk/blender/release/scripts/op/io_scene_x3d/__init__.py	2010-11-19 17:29:51 UTC (rev 33186)
+++ trunk/blender/release/scripts/op/io_scene_x3d/__init__.py	2010-11-20 02:56:58 UTC (rev 33187)
@@ -18,9 +18,9 @@
 
 # To support reload properly, try to access a package var, if it's there, reload everything
 if "bpy" in locals():
-    # only reload if we alredy loaded, highly annoying
-    import sys
-    reload(sys.modules.get("io_scene_x3d.export_x3d", sys))
+    from imp import reload
+    if "export_x3d" in locals():
+        reload(export_x3d)
 
 
 import bpy
@@ -41,8 +41,8 @@
     use_compress = BoolProperty(name="Compress", description="GZip the resulting file, requires a full python install", default=False)
 
     def execute(self, context):
-        import io_scene_x3d.export_x3d
-        return io_scene_x3d.export_x3d.save(self, context, **self.as_keywords(ignore=("check_existing",)))

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list