[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2967] trunk/py/scripts/addons/ io_scene_x3d/export_x3d.py: x3d writing compressed files was broken.
Campbell Barton
ideasman42 at gmail.com
Sun Feb 5 13:45:35 CET 2012
Revision: 2967
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2967
Author: campbellbarton
Date: 2012-02-05 12:45:27 +0000 (Sun, 05 Feb 2012)
Log Message:
-----------
x3d writing compressed files was broken.
Modified Paths:
--------------
trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
Modified: trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/export_x3d.py 2012-02-05 09:40:34 UTC (rev 2966)
+++ trunk/py/scripts/addons/io_scene_x3d/export_x3d.py 2012-02-05 12:45:27 UTC (rev 2967)
@@ -1534,6 +1534,23 @@
##########################################################
+def gzip_open_utf8(filepath, mode):
+ """Workaround for py3k only allowing binary gzip writing"""
+
+ import gzip
+
+ # need to investigate encoding
+ file = gzip.open(filepath, mode)
+ write_real = file.write
+
+ def write_wrap(data):
+ return write_real(data.encode("utf-8"))
+
+ file.write = write_wrap
+
+ return file
+
+
def save(operator, context, filepath="",
use_selection=True,
use_apply_modifiers=False,
@@ -1553,9 +1570,7 @@
bpy.ops.object.mode_set(mode='OBJECT')
if use_compress:
- import gzip
- # need to investigate encoding
- file = gzip.open(filepath, 'w')
+ file = gzip_open_utf8(filepath, 'w')
else:
file = open(filepath, 'w', encoding='utf-8')
More information about the Bf-extensions-cvs
mailing list