Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/GetIABooksActivity.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@sugarlabs.org>2011-04-05 18:46:05 (GMT)
committer Gonzalo Odiard <godiard@sugarlabs.org>2011-04-05 18:46:05 (GMT)
commita84eaffea10e0b319638aa04b19280339c22f697 (patch)
tree419baa4cfa858134db857094537e95a12a2421ea /GetIABooksActivity.py
parentbcf38e8a8b337ee82ef408b3b1102d671e9bbd72 (diff)
Save cover image in the journal encoded.
Use base64 encoded for 'cover' metadata because Journal break otherwise.
Diffstat (limited to 'GetIABooksActivity.py')
-rwxr-xr-xGetIABooksActivity.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/GetIABooksActivity.py b/GetIABooksActivity.py
index 968e8ac..9666f88 100755
--- a/GetIABooksActivity.py
+++ b/GetIABooksActivity.py
@@ -46,6 +46,7 @@ from gettext import gettext as _
import dbus
import gobject
import ConfigParser
+import base64
from listview import ListView
import opds
@@ -493,7 +494,7 @@ class GetIABooksActivity(activity.Activity):
self.add_default_image()
def get_pixbuf_from_buffer(self, image_buffer):
- """Encoded Buffer To Pixbuf"""
+ """Buffer To Pixbuf"""
pixbuf_loader = gtk.gdk.PixbufLoader()
pixbuf_loader.write(image_buffer)
pixbuf_loader.close()
@@ -503,7 +504,8 @@ class GetIABooksActivity(activity.Activity):
def get_journal_entry_cover_image(self, object_id):
ds_object = datastore.get(object_id)
if 'cover_image' in ds_object.metadata:
- return ds_object.metadata['cover_image']
+ cover_data = ds_object.metadata['cover_image']
+ return base64.b64decode(cover_data)
elif 'preview' in ds_object.metadata:
return ds_object.metadata['preview']
else:
@@ -734,8 +736,10 @@ class GetIABooksActivity(activity.Activity):
textbuffer.get_text(textbuffer.get_start_iter(),
textbuffer.get_end_iter())
if self.exist_cover_image:
- journal_entry.metadata['preview'] = self._get_preview_image()
- journal_entry.metadata['cover_image'] = self._get_preview_image()
+ image_buffer = self._get_preview_image()
+ journal_entry.metadata['preview'] = dbus.ByteArray(image_buffer)
+ journal_entry.metadata['cover_image'] = \
+ dbus.ByteArray(base64.b64encode(image_buffer))
else:
journal_entry.metadata['cover_image'] = ""
@@ -808,7 +812,7 @@ class GetIABooksActivity(activity.Activity):
pixbuf2.save_to_callback(save_func, 'png', user_data=preview_data)
preview_data = ''.join(preview_data)
- return dbus.ByteArray(preview_data)
+ return preview_data
def _show_error_alert(self, title, text=None):
alert = NotifyAlert(timeout=20)