Revision: 15456
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15456
Author:   djd
Date:     2008-07-06 17:52:29 +0200 (Sun, 06 Jul 2008)

Log Message:
-----------
Commit from office, tested working version of dumping library data into 
dictionary files, now time to add direct data information to some of the 
leaves, like mesh

Modified Paths:
--------------
    branches/soc-2008-djd/release/scripts/dump_libdata.py

Modified: branches/soc-2008-djd/release/scripts/dump_libdata.py
===================================================================
--- branches/soc-2008-djd/release/scripts/dump_libdata.py       2008-07-06 
15:38:51 UTC (rev 15455)
+++ branches/soc-2008-djd/release/scripts/dump_libdata.py       2008-07-06 
15:52:29 UTC (rev 15456)
@@ -37,7 +37,7 @@
 def AddToTree(id, type, parent):
     if not id in treeMap:
         treeMap[id] = Node(id, type)
-        print 'creating node %s as child to %s'%(type,treeMap[parent].type)
+        #~ print 'creating node %s as child to %s'%(type,treeMap[parent].type)
     else:
         treeMap[id].id = id
         treeMap[id].type = type
@@ -46,10 +46,12 @@
         treeMap[parent] = Node(0, '')
     treeMap[parent].children.append(treeMap[id])     
     
+    return treeMap[id]
+    
 def print_map(node, lvl=0):
     #~ print node.type, node.id, node.children
     for n in node.children:
-        print '    ' * lvl + n.type + n.id
+        print '    ' * lvl + '%s, %s'%(n.id,n.type)
         if len(n.children) > 0:
             print_map(n, lvl+1)
     
@@ -72,26 +74,27 @@
     print ob;
     
     # add the scene
-    AddToTree(ob.name, 'Scene', 'Library_root')
+    Scene = AddToTree(ob.name, 'Scene', 'Library_root')
     
     for anObject in ob.objects:
-        print " %s"%anObject.getName()        
+        #~ print " %s child of %s"%(anObject.getName(), anObject.getParent())  
      
         Name = anObject.getName();
-
-        AddToTree(Name,'Scene','Library_root')
+                
+        if anObject.getParent() == None :
+            parentID = Scene.id
+        else:
+            parentID = anObject.getParent().getName()
             
+        Parent  = AddToTree(anObject.getName(),anObject.getType(), parentID)
+            
         if anObject.getData():
             dblock = anObject.getData(0,1)
-            try:
-                print " \tData%s"%dblock.getName()
-                
-            except:
-                print " \tMesh%s"%dblock
-                try:
-                    print " \tMeshMaterials%s"%dblock.materials
-                except:
-                    print " \tName%s"%dblock.name
-                    
+                        
+            if anObject.getType() == 'Mesh':
+                # do processing with the materials
+                for aMat in dblock.materials:
+                    AddToTree(aMat.getName(), 'Material', Parent.id)
+                                
         if anObject.getIpo():
             print " \tIPO%s"%anObject.getIpo().getName()
         
@@ -105,8 +108,8 @@
         if anObject.getTracked():
             print " \tTracked%s"%anObject.getTracked().getName()
         
-        if anObject.getParent():
-            print ' \tParent:%s'%anObject.getParent().getName()
+        #~ if anObject.getParent():
+            #~ print ' \tParent:%s'%anObject.getParent().getName()
             
             
         #~ for aProperty in anObject.getAllProperties()  
@@ -114,13 +117,12 @@
     
 print 'Members of materials ..%d objects'%len(bpy.data.materials)
     
-for ob in bpy.data.materials:
-    print ob.getName()
-    if ob.getIpo():
-        print ob.getIpo()
+#~ for ob in bpy.data.materials:
+    #~ print ob.getName()
+    #~ if ob.getIpo():
+        #~ print ob.getIpo()
 
-
-for ob in bpy.data.meshes:
-    print ob
+#~ for ob in bpy.data.meshes:
+    #~ print ob
     
 print_map(Root)
\ No newline at end of file


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to