[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50965] trunk/blender: update UI introspection script for changes to blender.

Campbell Barton ideasman42 at gmail.com
Mon Oct 1 04:04:09 CEST 2012


Revision: 50965
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50965
Author:   campbellbarton
Date:     2012-10-01 02:04:06 +0000 (Mon, 01 Oct 2012)
Log Message:
-----------
update UI introspection script for changes to blender.

Modified Paths:
--------------
    trunk/blender/intern/tools/bpy_introspect_ui.py
    trunk/blender/release/scripts/startup/bl_ui/space_userpref.py

Modified: trunk/blender/intern/tools/bpy_introspect_ui.py
===================================================================
--- trunk/blender/intern/tools/bpy_introspect_ui.py	2012-10-01 01:26:54 UTC (rev 50964)
+++ trunk/blender/intern/tools/bpy_introspect_ui.py	2012-10-01 02:04:06 UTC (rev 50965)
@@ -151,6 +151,18 @@
     def __sub__(self, other):
         return self
 
+    def __truediv__(self, other):
+        return self
+
+    def __floordiv__(self, other):
+        return self
+
+    def __round__(self, other):
+        return self
+
+    def __float__(self):
+        return 0.0
+
     # Custom functions
     def lower(self):
         return ""
@@ -200,6 +212,7 @@
 def fake_main():
     bpy = module_add("bpy")
 
+    # Registerable Subclasses
     bpy.types = module_add("bpy.types")
     bpy.types.Panel = Panel
     bpy.types.Header = Header
@@ -207,6 +220,7 @@
     bpy.types.PropertyGroup = PropertyGroup
     bpy.types.Operator = Operator
 
+    # ID Subclasses
     bpy.types.Armature = type("Armature", (), {})
     bpy.types.Bone = type("Bone", (), {})
     bpy.types.EditBone = type("EditBone", (), {})
@@ -219,6 +233,7 @@
     bpy.types.Mesh = type("Mesh", (), {})
     bpy.types.MetaBall = type("MetaBall", (), {})
     bpy.types.Object = type("Object", (), {})
+    bpy.types.Speaker = type("Speaker", (), {})
     bpy.types.Texture = type("Texture", (), {})
     bpy.types.ParticleSettings = type("ParticleSettings", (), {})
     bpy.types.World = type("World", (), {})
@@ -228,6 +243,12 @@
     bpy.types.Scene.EnumProperty = NewAttr("bpy.types.Scene.EnumProperty", "EnumProperty")
     bpy.types.Scene.StringProperty = NewAttr("bpy.types.Scene.StringProperty", "StringProperty")
 
+    # Misc Subclasses
+    bpy.types.EffectSequence = type("EffectSequence", (), {})
+
+    # Operator Subclases
+    bpy.types.WM_OT_doc_view = type("WM_OT_doc_view", (), {"_prefix": ""})
+
     bpy.props = module_add("bpy.props")
     bpy.props.StringProperty = dict
     bpy.props.BoolProperty = dict
@@ -236,15 +257,19 @@
 
     bpy.data = module_add("bpy.data")
     bpy.data.scenes = ()
+    bpy.data.speakers = ()
     bpy.data.groups = ()
     bpy.data.meshes = ()
     bpy.data.shape_keys = ()
     bpy.data.materials = ()
+    bpy.data.lattices = ()
     bpy.data.lamps = ()
     bpy.data.textures = ()
     bpy.data.cameras = ()
     bpy.data.curves = ()
+    bpy.data.masks = ()
     bpy.data.metaballs = ()
+    bpy.data.movieclips = ()
     bpy.data.armatures = ()
     bpy.data.particles = ()
 
@@ -261,7 +286,19 @@
     bpy.path = module_add("bpy.path")
     bpy.path.display_name = lambda f: ""
 
+    bpy_extras = module_add("bpy_extras")
+    bpy_extras.keyconfig_utils = module_add("bpy_extras.keyconfig_utils")
+    bpy_extras.keyconfig_utils.KM_HIERARCHY = ()
+    bpy_extras.keyconfig_utils.keyconfig_merge = lambda a, b: ()
 
+    addon_utils = module_add("addon_utils")
+    addon_utils.modules = lambda f: ()
+    addon_utils.module_bl_info = lambda f: None
+    addon_utils.addons_fake_modules = {}
+    addon_utils.error_duplicates = ()
+    addon_utils.error_encoding = ()
+
+
 def fake_helper():
 
     class PropertyPanel():
@@ -280,12 +317,10 @@
 
 import bpy
 
-sys.path.insert(0, "/b/release/scripts/ui/")
 
-
 def module_classes(mod):
     classes = []
-    for value in mod.__dict__.values():
+    for key, value in mod.__dict__.items():
         try:
             is_subclass = issubclass(value, BaseFakeUI)
         except:
@@ -298,17 +333,22 @@
 
 
 def main():
+
     import os
+    BASE_DIR = os.path.join(os.path.dirname(__file__), "..", "..")
+    BASE_DIR = os.path.normpath(os.path.abspath(BASE_DIR))
+    MODULE_DIR = os.path.join(BASE_DIR, "release", "scripts", "startup")
 
-    base = os.path.join(os.path.dirname(__file__), "..", "..")
-    base = os.path.normpath(base)
-    base = os.path.abspath(base)
+    print("Using base dir: %r" % BASE_DIR)
+    print("Using module dir: %r" % MODULE_DIR)
 
-    scripts_dir = os.path.join(base, "release", "scripts", "ui")
+    sys.path.insert(0, MODULE_DIR)
+
+    scripts_dir = os.path.join(MODULE_DIR, "bl_ui")
     for f in sorted(os.listdir(scripts_dir)):
-        if f.endswith(".py"):
+        if f.endswith(".py") and not f.startswith("__init__"):
             # print(f)
-            mod = __import__(f[:-3])
+            mod = __import__("bl_ui." + f[:-3]).__dict__[f[:-3]]
 
             classes = module_classes(mod)
 
@@ -318,9 +358,9 @@
     # print("running...")
     print("<ui>")
     for f in sorted(os.listdir(scripts_dir)):
-        if f.endswith(".py"):
+        if f.endswith(".py") and not f.startswith("__init__"):
             # print(f)
-            mod = __import__(f[:-3])
+            mod = __import__("bl_ui." + f[:-3]).__dict__[f[:-3]]
 
             classes = module_classes(mod)
 

Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2012-10-01 01:26:54 UTC (rev 50964)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2012-10-01 02:04:06 UTC (rev 50965)
@@ -20,7 +20,6 @@
 import bpy
 from bpy.types import Header, Menu, Panel
 import os
-import addon_utils
 
 
 def ui_items_general(col, context):
@@ -1033,6 +1032,8 @@
             box.label(l)
 
     def draw(self, context):
+        import addon_utils
+
         layout = self.layout
 
         userpref = context.user_preferences




More information about the Bf-blender-cvs mailing list