From 5fc4926fbe2cf9e6d1e84d3241befc152d6afb81 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Sat, 31 Jan 2009 23:54:17 +0000 Subject: use save_to_callback() instead of save() to save files to zip --- (limited to 'Utils.py') diff --git a/Utils.py b/Utils.py index 6983c56..f71699b 100644 --- a/Utils.py +++ b/Utils.py @@ -16,6 +16,7 @@ import os import gtk import pango import zipfile +import cStringIO from Theme import * import sugar.graphics @@ -23,26 +24,17 @@ from sugar.graphics import style from sugar.graphics.toolbutton import ToolButton from sugar.graphics.icon import Icon - class Zip(zipfile.ZipFile): def __init__(self, *args): zipfile.ZipFile.__init__(self, *args) - """ def write_pixbuf(self, arcfile, pixbuf): def push(data, buffer): - buffer += data + buffer.write(data) - buffer = '' + buffer = cStringIO.StringIO() pixbuf.save_to_callback(push, 'png', user_data=buffer) - self.writestr(arcfile, buffer) - """ - - def write_pixbuf(self, arcfile, pixbuf): - tmpfile = os.path.join(SESSION_PATH, 'tmp.png') - pixbuf.save(tmpfile, 'png') - self.write(tmpfile, arcfile) - os.unlink(tmpfile) + self.writestr(arcfile, buffer.getvalue()) def read_pixbuf(self, arcfile): tmpfile = os.path.join(SESSION_PATH, 'tmp.png') -- cgit v0.9.1