diff --git a/Calibre_Plugins/K4MobiDeDRM_plugin/__init__.py b/Calibre_Plugins/K4MobiDeDRM_plugin/__init__.py index 539fa38..e5a1702 100644 --- a/Calibre_Plugins/K4MobiDeDRM_plugin/__init__.py +++ b/Calibre_Plugins/K4MobiDeDRM_plugin/__init__.py @@ -20,13 +20,14 @@ __docformat__ = 'restructuredtext en' # 0.4.9 - typo fix # 0.4.10 - Another Topaz Fix (class added to page and group and region) # 0.4.11 - Fixed Linux support of K4PC +# 0.4.12 - More Linux Wine fixes """ Decrypt Amazon Kindle and Mobipocket encrypted ebooks. """ PLUGIN_NAME = u"Kindle and Mobipocket DeDRM" -PLUGIN_VERSION_TUPLE = (0, 4, 11) +PLUGIN_VERSION_TUPLE = (0, 4, 12) PLUGIN_VERSION = '.'.join([str(x) for x in PLUGIN_VERSION_TUPLE]) import sys, os, re diff --git a/Calibre_Plugins/K4MobiDeDRM_plugin/getk4pcpids.py b/Calibre_Plugins/K4MobiDeDRM_plugin/getk4pcpids.py index 138ab76..1614a53 100644 --- a/Calibre_Plugins/K4MobiDeDRM_plugin/getk4pcpids.py +++ b/Calibre_Plugins/K4MobiDeDRM_plugin/getk4pcpids.py @@ -11,15 +11,21 @@ __version__ = '1.01' import sys -class Unbuffered: +class SafeUnbuffered: def __init__(self, stream): self.stream = stream + self.encoding = stream.encoding + if self.encoding == None: + self.encoding = "utf-8" def write(self, data): + if isinstance(data,unicode): + data = data.encode(self.encoding,"replace") self.stream.write(data) self.stream.flush() def __getattr__(self, attr): return getattr(self.stream, attr) -sys.stdout=Unbuffered(sys.stdout) +sys.stdout=SafeUnbuffered(sys.stdout) +sys.stderr=SafeUnbuffered(sys.stderr) import os import struct diff --git a/Calibre_Plugins/k4mobidedrm_plugin.zip b/Calibre_Plugins/k4mobidedrm_plugin.zip index add82b4..9c00bfe 100644 Binary files a/Calibre_Plugins/k4mobidedrm_plugin.zip and b/Calibre_Plugins/k4mobidedrm_plugin.zip differ