[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25510] trunk/blender/release/scripts: py error fix and minor changes to rna info class

Campbell Barton ideasman42 at gmail.com
Tue Dec 22 00:14:17 CET 2009


Revision: 25510
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25510
Author:   campbellbarton
Date:     2009-12-22 00:14:16 +0100 (Tue, 22 Dec 2009)

Log Message:
-----------
py error fix and minor changes to rna info class

Modified Paths:
--------------
    trunk/blender/release/scripts/modules/rna_info.py
    trunk/blender/release/scripts/op/object.py

Modified: trunk/blender/release/scripts/modules/rna_info.py
===================================================================
--- trunk/blender/release/scripts/modules/rna_info.py	2009-12-21 22:38:06 UTC (rev 25509)
+++ trunk/blender/release/scripts/modules/rna_info.py	2009-12-21 23:14:16 UTC (rev 25510)
@@ -20,6 +20,13 @@
 
 import bpy
 
+def range_str(val):
+    if val < -10000000:	return '-inf'
+    if val >  10000000:	return 'inf'
+    if type(val)==float:
+        return '%g'  % val
+    else:
+        return str(val)
 
 class InfoStructRNA:
     global_lookup = {}
@@ -43,7 +50,7 @@
     def build(self):
         rna_type = self.bl_rna
         parent_id = self.identifier
-        self.properties[:] = [GetInfoPropertyRNA(rna_prop, parent_id) for rna_prop in rna_type.properties.values()]
+        self.properties[:] = [GetInfoPropertyRNA(rna_prop, parent_id) for rna_id, rna_prop in rna_type.properties.items() if rna_id != "rna_type"]
         self.functions[:] = [GetInfoFunctionRNA(rna_prop, parent_id) for rna_prop in rna_type.functions.values()]
 
     def getNestedProperties(self, ls = None):
@@ -84,12 +91,20 @@
         rna_prop = self.bl_prop
 
         self.enum_items = []
-        self.min = -1
-        self.max = -1
+        self.min = getattr(rna_prop, "hard_min", -1)
+        self.max = getattr(rna_prop, "hard_max", -1)
         self.array_length = getattr(rna_prop, "array_length", 0)
 
         self.type = rna_prop.type.lower()
-        self.fixed_type = GetInfoStructRNA(rna_prop.fixed_type) # valid for pointer/collections
+        fixed_type = getattr(rna_prop, "fixed_type", "")
+        if fixed_type:
+            self.fixed_type = GetInfoStructRNA(fixed_type) # valid for pointer/collections
+        else:
+            self.fixed_type = None
+            
+        if self.type == "enum":
+            self.enum_items[:] = rna_prop.items.keys()
+
         self.srna = GetInfoStructRNA(rna_prop.srna) # valid for pointer/collections
 
     def __repr__(self):
@@ -347,9 +362,11 @@
 
     for rna_info in InfoStructRNA.global_lookup.values():
         rna_info.build()
+        for prop in rna_info.properties:
+            prop.build()
+        
+    #for rna_info in InfoStructRNA.global_lookup.values():
+    #    print(rna_info)
 
-    for rna_info in InfoStructRNA.global_lookup.values():
-        print(rna_info)
-
     return InfoStructRNA.global_lookup, InfoFunctionRNA.global_lookup, InfoPropertyRNA.global_lookup
 

Modified: trunk/blender/release/scripts/op/object.py
===================================================================
--- trunk/blender/release/scripts/op/object.py	2009-12-21 22:38:06 UTC (rev 25509)
+++ trunk/blender/release/scripts/op/object.py	2009-12-21 23:14:16 UTC (rev 25510)
@@ -87,8 +87,8 @@
             default=1, min=0, max=100, soft_min=0, soft_max=6)
 
     def poll(self, context):
-        ob = context.active_object
-        return (ob and ob.type == 'MESH')
+        obs = context.selected_editable_objects
+        return (obs is not None)
 
     def execute(self, context):
         level = self.properties.level





More information about the Bf-blender-cvs mailing list