[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31149] branches/soc-2010-leifandersen: 1.

Leif Andersen leif.a.andersen at gmail.com
Sat Aug 7 22:16:42 CEST 2010


Revision: 31149
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31149
Author:   leifandersen
Date:     2010-08-07 22:16:42 +0200 (Sat, 07 Aug 2010)

Log Message:
-----------
1.  After learning that hash() is OS dependant (or rather 32-64 bit dependant), switched the hash() function to start using hashlib (md5), it still seems to be just as fast.  Also, it currently reports hashes in hex, although it is possible to switch that to a byte of data if needed.

2.  Updated the physics and export_import tests to the new system (please try if your on a 32-bit os).

3.  Fixed a typo for windows commands.  (it 'should' work, still don't have a build yet to try it).

4.  Fixed the typo that caused the armature tests to stay open.  (For the record, I still find this to be a very clunky solution).

Modified Paths:
--------------
    branches/soc-2010-leifandersen/release/scripts/op/tests_hash.py
    branches/soc-2010-leifandersen/source/creator/CMakeLists.txt
    branches/soc-2010-leifandersen/tests/hash_compare.py
    branches/soc-2010-leifandersen/tests/hashfile.txt
    branches/soc-2010-leifandersen/tests/python/Armature_example2.py

Modified: branches/soc-2010-leifandersen/release/scripts/op/tests_hash.py
===================================================================
--- branches/soc-2010-leifandersen/release/scripts/op/tests_hash.py	2010-08-07 20:00:20 UTC (rev 31148)
+++ branches/soc-2010-leifandersen/release/scripts/op/tests_hash.py	2010-08-07 20:16:42 UTC (rev 31149)
@@ -1,6 +1,8 @@
 import bpy
 import tests
 
+import hashlib
+
 from bpy.props import *
 
 
@@ -24,448 +26,448 @@
 
     def execute(self, context):
         tests.hashfile.last_hash = "Working"
-        hashcode = 0
+        hashcode = hashlib.md5()
         for scene in bpy.data.scenes:
-            hashcode += hash(scene.name)
+            hashcode.update(str(scene.name).encode())
             if scene.world != None:
                 w = scene.world
-                hashcode += hash(w.bl_rna.name)
-                hashcode += hash(w.name)
-                hashcode += hash(w.exposure)
+                hashcode.update(str(w.bl_rna.name).encode())
+                hashcode.update(str(w.name).encode())
+                hashcode.update(str(w.exposure).encode())
                 li = w.lighting
-                hashcode += hash(li.environment_color)
-                hashcode += hash(li.bias)
-                hashcode += hash(li.correction)
-                hashcode += hash(li.distance)
-                hashcode += hash(li.environment_energy)
-                hashcode += hash(li.error_tolerance)
-                hashcode += hash(li.falloff)
-                hashcode += hash(li.falloff_strength)
-                hashcode += hash(li.gather_method)
-                hashcode += hash(li.indirect_bounces)
-                hashcode += hash(li.indirect_factor)
-                hashcode += hash(li.passes)
-                hashcode += hash(li.pixel_cache)
-                hashcode += hash(li.samples)
-                hashcode += hash(li.sample_method)
-                hashcode += hash(li.threshold)
-                hashcode += hash(li.use_ambient_occlusion)
-                hashcode += hash(li.use_environment_lighting)
-                hashcode += hash(li.use_indirect_lighting)
+                hashcode.update(str(li.environment_color).encode())
+                hashcode.update(str(li.bias).encode())
+                hashcode.update(str(li.correction).encode())
+                hashcode.update(str(li.distance).encode())
+                hashcode.update(str(li.environment_energy).encode())
+                hashcode.update(str(li.error_tolerance).encode())
+                hashcode.update(str(li.falloff).encode())
+                hashcode.update(str(li.falloff_strength).encode())
+                hashcode.update(str(li.gather_method).encode())
+                hashcode.update(str(li.indirect_bounces).encode())
+                hashcode.update(str(li.indirect_factor).encode())
+                hashcode.update(str(li.passes).encode())
+                hashcode.update(str(li.pixel_cache).encode())
+                hashcode.update(str(li.samples).encode())
+                hashcode.update(str(li.sample_method).encode())
+                hashcode.update(str(li.threshold).encode())
+                hashcode.update(str(li.use_ambient_occlusion).encode())
+                hashcode.update(str(li.use_environment_lighting).encode())
+                hashcode.update(str(li.use_indirect_lighting).encode())
                 mi = w.mist
-                hashcode += hash(mi.depth)
-                hashcode += hash(mi.falloff)
-                hashcode += hash(mi.height)
-                hashcode += hash(mi.intensity)
-                hashcode += hash(mi.start)
-                hashcode += hash(mi.use_mist)
-                hashcode += hash(w.paper_sky)
-                hashcode += hash(w.range)
-                hashcode += hash(w.real_sky)
+                hashcode.update(str(mi.depth).encode())
+                hashcode.update(str(mi.falloff).encode())
+                hashcode.update(str(mi.height).encode())
+                hashcode.update(str(mi.intensity).encode())
+                hashcode.update(str(mi.start).encode())
+                hashcode.update(str(mi.use_mist).encode())
+                hashcode.update(str(w.paper_sky).encode())
+                hashcode.update(str(w.range).encode())
+                hashcode.update(str(w.real_sky).encode())
                 st = w.stars
-                hashcode += hash(st.color_randomization)
-                hashcode += hash(st.size)
+                hashcode.update(str(st.color_randomization).encode())
+                hashcode.update(str(st.size).encode())
                 for texslot in w.texture_slots:
                     if texslot != None:
-                        hashcode += hash(texslot.name)
+                        hashcode.update(str(texslot.name).encode())
                 for num in w.horizon_color:
-                    hashcode += hash(num)
+                    hashcode.update(str(num).encode())
                 for num in w.zenith_color:
-                    hashcode += hash(num)
+                    hashcode.update(str(num).encode())
             for ob in scene.objects:
-                hashcode += hash(ob.name)
-                hashcode += hash(ob.type)
+                hashcode.update(str(ob.name).encode())
+                hashcode.update(str(ob.type).encode())
                 if ob.dupli_group != None:
-                    hashcode += hash(ob.dupli_group.name)
+                    hashcode.update(str(ob.dupli_group.name).encode())
                     for object in ob.dupli_group.objects:
-                        hashcode += hash(object.name)
+                        hashcode.update(str(object.name).encode())
                 for num in ob.rotation_euler:
-                    hashcode += hash(round(num, 6))
+                    hashcode.update(str(round(num, 6)).encode())
                 for num in ob.location:
-                    hashcode += hash(num)
+                    hashcode.update(str(num).encode())
                 for num in ob.scale:
-                    hashcode += hash(num)
+                    hashcode.update(str(num).encode())
                 for point in ob.bound_box:
                     for num in point:
-                        hashcode += hash(num)
+                        hashcode.update(str(num).encode())
                 for group in ob.vertex_groups:
-                    hashcode += hash(group.name)
+                    hashcode.update(str(group.name).encode())
                 for mod in ob.modifiers:
-                    hashcode += hash(mod.type)
-                    hashcode += hash(mod.name)
+                    hashcode.update(str(mod.type).encode())
+                    hashcode.update(str(mod.name).encode())
                 if ob.soft_body != None:
                     sb = ob.soft_body
-                    hashcode += hash(sb.speed)
-                    hashcode += hash(sb.spring_length)
-                    hashcode += hash(sb.spring_vertex_group)
-                    hashcode += hash(sb.pull)
-                    hashcode += hash(sb.push)
-                    hashcode += hash(sb.self_collision)
-                    hashcode += hash(sb.shear)
-                    hashcode += hash(sb.stiff_quads)
-                    hashcode += hash(sb.use_edges)
-                    hashcode += hash(sb.use_goal)
-                    hashcode += hash(sb.aero)
-                    hashcode += hash(sb.aerodynamics_type)  
-                    hashcode += hash(sb.auto_step)
-                    hashcode += hash(sb.ball_damp)
-                    hashcode += hash(sb.ball_size)
-                    hashcode += hash(sb.ball_stiff)
-                    hashcode += hash(sb.bending)
-                    hashcode += hash(sb.choke)
-                    hashcode += hash(sb.collision_type)
-                    hashcode += hash(sb.damp)
-                    hashcode += hash(sb.diagnose)
-                    hashcode += hash(sb.edge_collision)
-                    hashcode += hash(sb.error_limit)
-                    hashcode += hash(sb.estimate_matrix)
-                    hashcode += hash(sb.face_collision)
-                    hashcode += hash(sb.friction)
-                    hashcode += hash(sb.fuzzy)
-                    hashcode += hash(sb.goal_default)
-                    hashcode += hash(sb.goal_friction)
-                    hashcode += hash(sb.goal_max)
-                    hashcode += hash(sb.goal_min)
-                    hashcode += hash(sb.goal_spring)
-                    hashcode += hash(sb.goal_vertex_group)
-                    hashcode += hash(sb.gravity)
-                    hashcode += hash(sb.mass)
-                    hashcode += hash(sb.mass_vertex_group)
-                    hashcode += hash(sb.maxstep)
-                    hashcode += hash(sb.minstep)
-                    hashcode += hash(sb.plastic)
+                    hashcode.update(str(sb.speed).encode())
+                    hashcode.update(str(sb.spring_length).encode())
+                    hashcode.update(str(sb.spring_vertex_group).encode())
+                    hashcode.update(str(sb.pull).encode())
+                    hashcode.update(str(sb.push).encode())
+                    hashcode.update(str(sb.self_collision).encode())
+                    hashcode.update(str(sb.shear).encode())
+                    hashcode.update(str(sb.stiff_quads).encode())
+                    hashcode.update(str(sb.use_edges).encode())
+                    hashcode.update(str(sb.use_goal).encode())
+                    hashcode.update(str(sb.aero).encode())
+                    hashcode.update(str(sb.aerodynamics_type).encode())
+                    hashcode.update(str(sb.auto_step).encode())
+                    hashcode.update(str(sb.ball_damp).encode())
+                    hashcode.update(str(sb.ball_size).encode())
+                    hashcode.update(str(sb.ball_stiff).encode())
+                    hashcode.update(str(sb.bending).encode())
+                    hashcode.update(str(sb.choke).encode())
+                    hashcode.update(str(sb.collision_type).encode())
+                    hashcode.update(str(sb.damp).encode())
+                    hashcode.update(str(sb.diagnose).encode())
+                    hashcode.update(str(sb.edge_collision).encode())
+                    hashcode.update(str(sb.error_limit).encode())

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list