[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4492] contrib/py/scripts/addons/ oscurart_tools: Optimize Code.

Eugenio Pignataro info at oscurart.com.ar
Sun Apr 28 17:05:58 CEST 2013


Revision: 4492
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4492
Author:   oscurart
Date:     2013-04-28 15:05:58 +0000 (Sun, 28 Apr 2013)
Log Message:
-----------
Optimize Code.

Modified Paths:
--------------
    contrib/py/scripts/addons/oscurart_tools/oscurart_meshes.py
    contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py

Modified: contrib/py/scripts/addons/oscurart_tools/oscurart_meshes.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools/oscurart_meshes.py	2013-04-26 16:08:19 UTC (rev 4491)
+++ contrib/py/scripts/addons/oscurart_tools/oscurart_meshes.py	2013-04-28 15:05:58 UTC (rev 4492)
@@ -106,12 +106,9 @@
         BM = bmesh.from_edit_mesh(bpy.context.object.data)  
         bpy.ops.mesh.select_all(action='DESELECT')
         bpy.ops.object.vertex_group_select()
-        SELVER=[VERT.index for VERT in BM.verts[:] if VERT.select]
+        SELVER=[VERT.index for VERT in BM.verts[:] if VERT.select]   
         
-        if sys.platform.startswith("w"):
-            SYSBAR = "\\"
-        else:
-             SYSBAR = "/" 
+        SYSBAR = os.sep     
          
         FILEPATH=bpy.data.filepath
         ACTIVEFOLDER=FILEPATH.rpartition(SYSBAR)[0]
@@ -125,19 +122,16 @@
         bpy.ops.object.vertex_group_assign(new=False)    
         bpy.ops.object.mode_set(mode='WEIGHT_PAINT')        
         for VERT in INL:
-            print(VERT)
-            i = 0
-            for GRA in OBACTIVO.data.vertices[SYMAP[VERT]].groups[:]:
+            for i, GRA in enumerate(OBACTIVO.data.vertices[SYMAP[VERT]].groups[:]):
                 if GRA.group == VGACTIVO:
                     print (i)
                     EM = i                    
-                i+=1  
-            a = 0
-            for GRA in OBACTIVO.data.vertices[VERT].groups[:]:     
+
+            for a, GRA in enumerate(OBACTIVO.data.vertices[VERT].groups[:]):     
                 if GRA.group == VGACTIVO:
                     print (a)
                     REC = a
-                a+=1
+
                     
             OBACTIVO.data.vertices[VERT].groups[REC].weight = OBACTIVO.data.vertices[SYMAP[VERT]].groups[EM].weight  
         XML.close()
@@ -155,60 +149,38 @@
     bl_label = "Export Groups"
     bl_options = {"REGISTER", "UNDO"}
     def execute(self,context):
-
+        
         OBSEL=bpy.context.active_object
-
-        if os.sys.platform.count("win"):
-            print("WINDOWS")
-            BAR = "\\"
-        else:
-            print("LINUX")
-            BAR = "/"
-
         FILEPATH = bpy.data.filepath
-        FILE = open(FILEPATH.rpartition(BAR)[0] + BAR+OBSEL.name + ".xml", mode = "w")
-        VERTLIST = []
+        
+        with open(os.path.join(os.path.split(FILEPATH)[0],"%s.xml" % (OBSEL.name)), mode = "w") as FILE:
+            VERTLIST = []
+            LENVER = len(OBSEL.data.vertices)
+            for VG in OBSEL.vertex_groups:
+                BONELIST = []
+                for VERTICE in range(0,LENVER):
+                    try:
+                        BONELIST.append((VERTICE,VG.weight(VERTICE),VG.name,))
+                    except:
+                        pass
+                VERTLIST.append(BONELIST)
+            NAMEGROUPLIST=[]
+            for VG in OBSEL.vertex_groups:
+                NAMEGROUPLIST.append(VG.name)
+            VERTLIST.append(NAMEGROUPLIST)
+            FILE.write(str(VERTLIST))
 
-        LENVER = len(OBSEL.data.vertices)
+        with open(os.path.join(os.path.split(FILEPATH)[0],"%s_DATA.xml" % (OBSEL.name)), mode = "w") as FILE:
+            DATAVER = []
+            for VERT in OBSEL.data.vertices[:]:
+                LISTVGTEMP = []
+                for VGTEMP, GROUP in enumerate(VERT.groups[:]):
+                    LISTVGTEMP.append((GROUP.group,VGTEMP))
+                LISTVGTEMP=sorted(LISTVGTEMP)
+                for TEMP, GROUP in enumerate(VERT.groups[:]):
+                    DATAVER.append((VERT.index,TEMP,VERT.groups[LISTVGTEMP[TEMP][1]].weight))
+            FILE.write(str(DATAVER))
 
-        for VG in OBSEL.vertex_groups:
-            BONELIST = []
-            for VERTICE in range(0,LENVER):
-                try:
-                    BONELIST.append((VERTICE,VG.weight(VERTICE),VG.name,))
-                except:
-                    pass
-            VERTLIST.append(BONELIST)
-        NAMEGROUPLIST=[]
-        for VG in OBSEL.vertex_groups:
-            NAMEGROUPLIST.append(VG.name)
-        VERTLIST.append(NAMEGROUPLIST)
-        FILE.writelines(str(VERTLIST))
-        FILE.close()
-
-
-        FILEPATH = bpy.data.filepath
-        FILE = open(FILEPATH.rpartition(BAR)[0] + BAR + OBSEL.name + "_DATA.xml", mode = "w")
-
-        DATAVER = []
-
-        for VERT in OBSEL.data.vertices[:]:
-            TEMP = 0
-            VGTEMP = 0
-            LISTVGTEMP = []
-
-            for GROUP in VERT.groups[:]:
-                LISTVGTEMP.append((GROUP.group,VGTEMP))
-                VGTEMP += 1
-
-            LISTVGTEMP=sorted(LISTVGTEMP)
-            for GROUP in VERT.groups[:]:
-                DATAVER.append((VERT.index,TEMP,VERT.groups[LISTVGTEMP[TEMP][1]].weight))
-                TEMP += 1
-
-        FILE.writelines(str(DATAVER))
-        FILE.close()
-
         return {'FINISHED'}
 
 class OscImportVG (bpy.types.Operator):

Modified: contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py	2013-04-26 16:08:19 UTC (rev 4491)
+++ contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py	2013-04-28 15:05:58 UTC (rev 4492)
@@ -55,10 +55,9 @@
     # RESTAURO MATERIALES  DE OVERRIDES    
     for OBJ in LISTMAT:            
         if OBJ.type == "MESH" or OBJ.type == "META" or OBJ.type == "CURVE":
-            SLOTIND = 0
-            for SLOT in LISTMAT[OBJ]:
+            for SLOTIND, SLOT in enumerate(LISTMAT[OBJ]):
                 OBJ.material_slots[SLOTIND].material = SLOT  
-                SLOTIND += 1    
+ 
 
     
 ## HAND OPERATOR    
@@ -180,8 +179,8 @@
         colrow.operator("render.overrides_add_slot", icon = "ZOOMIN") 
         colrow.operator("render.overrides_remove_slot", icon = "ZOOMOUT")         
         col.operator("render.overrides_transfer", icon = "SHORTDISPLAY") 
-        i = 0
-        for m in bpy.context.scene.ovlist:
+
+        for i, m in enumerate(bpy.context.scene.ovlist):
             colrow = col.row(align=1)
             colrow.prop_search(m, "grooverride", bpy.data, "groups", text= "")  
             colrow.prop_search(m, "matoverride", bpy.data, "materials", text= "")
@@ -193,7 +192,7 @@
                 p.index = i
             pb = colrow.operator("ovlist.kill", text="", icon="X")            
             pb.index = i
-            i+=1
+
  
 class OscOverridesUp (bpy.types.Operator): 
     bl_idname = 'ovlist.move_up'



More information about the Bf-extensions-cvs mailing list