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. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs