From 33d8a63f617424a3e51870603a0aaec8beed9924 Mon Sep 17 00:00:00 2001 From: apprenticeharper Date: Wed, 12 Aug 2015 18:35:21 +0100 Subject: [PATCH] Fix for plugin bug introduced in 6.3.1 for Kindle for PC --- .../DeDRM.app/Contents/Info.plist | 4 ++-- .../DeDRM.app/Contents/Resources/__init__.py | 5 +++-- .../DeDRM_App/DeDRM_lib/DeDRM_app.pyw | 3 ++- .../DeDRM_App/DeDRM_lib/lib/__init__.py | 5 +++-- DeDRM_calibre_plugin/DeDRM_plugin.zip | Bin 353282 -> 353297 bytes DeDRM_calibre_plugin/DeDRM_plugin/__init__.py | 5 +++-- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist b/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist index f68ae98..51d226d 100644 --- a/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist +++ b/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist @@ -24,7 +24,7 @@ CFBundleExecutable droplet CFBundleGetInfoString - DeDRM AppleScript 6.3.2 Written 2010–2015 by Apprentice Alf et al. + DeDRM AppleScript 6.3.3 Written 2010–2015 by Apprentice Alf et al. CFBundleIconFile DeDRM CFBundleIdentifier @@ -36,7 +36,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 6.3.2 + 6.3.3 CFBundleSignature dplt LSRequiresCarbon diff --git a/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py b/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py index bec18ed..1f34cfe 100644 --- a/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py +++ b/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py @@ -44,6 +44,7 @@ __docformat__ = 'restructuredtext en' # 6.3.0 - Added in Kindle for Android serial number solution # 6.3.1 - Version number bump for clarity # 6.3.2 - Fixed Kindle for Android help file +# 6.3.3 - Bug fix for Kindle for PC support """ @@ -51,7 +52,7 @@ Decrypt DRMed ebooks. """ PLUGIN_NAME = u"DeDRM" -PLUGIN_VERSION_TUPLE = (6, 3, 2) +PLUGIN_VERSION_TUPLE = (6, 3, 3) PLUGIN_VERSION = u".".join([unicode(str(x)) for x in PLUGIN_VERSION_TUPLE]) # Include an html helpfile in the plugin's zipfile with the following name. RESOURCE_NAME = PLUGIN_NAME + '_Help.htm' @@ -523,7 +524,7 @@ class DeDRM(FileTypePlugin): if len(newkeys) > 0: print u"{0} v{1}: Found {2} new {3}".format(PLUGIN_NAME, PLUGIN_VERSION, len(newkeys), u"key" if len(newkeys)==1 else u"keys") try: - book = k4mobidedrm.GetDecryptedBook(path_to_ebook,newkeys.items(),[],[],self.starttime) + book = k4mobidedrm.GetDecryptedBook(path_to_ebook,newkeys.items(),[],[],[],self.starttime) decoded = True # store the new successful keys in the defaults print u"{0} v{1}: Saving {2} new {3}".format(PLUGIN_NAME, PLUGIN_VERSION, len(newkeys), u"key" if len(newkeys)==1 else u"keys") diff --git a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw index 57f88c2..45c9e06 100644 --- a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw +++ b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw @@ -17,8 +17,9 @@ # 6.3.0 - Add in Android support # 6.3.1 - Version bump for clarity # 6.3.2 - Version bump to match plugin +# 6.3.3 - Version bump to match plugin -__version__ = '6.3.2' +__version__ = '6.3.3' import sys import os, os.path diff --git a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py index bec18ed..1f34cfe 100644 --- a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py +++ b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py @@ -44,6 +44,7 @@ __docformat__ = 'restructuredtext en' # 6.3.0 - Added in Kindle for Android serial number solution # 6.3.1 - Version number bump for clarity # 6.3.2 - Fixed Kindle for Android help file +# 6.3.3 - Bug fix for Kindle for PC support """ @@ -51,7 +52,7 @@ Decrypt DRMed ebooks. """ PLUGIN_NAME = u"DeDRM" -PLUGIN_VERSION_TUPLE = (6, 3, 2) +PLUGIN_VERSION_TUPLE = (6, 3, 3) PLUGIN_VERSION = u".".join([unicode(str(x)) for x in PLUGIN_VERSION_TUPLE]) # Include an html helpfile in the plugin's zipfile with the following name. RESOURCE_NAME = PLUGIN_NAME + '_Help.htm' @@ -523,7 +524,7 @@ class DeDRM(FileTypePlugin): if len(newkeys) > 0: print u"{0} v{1}: Found {2} new {3}".format(PLUGIN_NAME, PLUGIN_VERSION, len(newkeys), u"key" if len(newkeys)==1 else u"keys") try: - book = k4mobidedrm.GetDecryptedBook(path_to_ebook,newkeys.items(),[],[],self.starttime) + book = k4mobidedrm.GetDecryptedBook(path_to_ebook,newkeys.items(),[],[],[],self.starttime) decoded = True # store the new successful keys in the defaults print u"{0} v{1}: Saving {2} new {3}".format(PLUGIN_NAME, PLUGIN_VERSION, len(newkeys), u"key" if len(newkeys)==1 else u"keys") diff --git a/DeDRM_calibre_plugin/DeDRM_plugin.zip b/DeDRM_calibre_plugin/DeDRM_plugin.zip index 046a5dae0b5f9d63fe14f84902a6386d5cae868f..082e50888b339a0b8bd1f16e00a303de51073104 100644 GIT binary patch delta 6535 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 delta 6589 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 0: print u"{0} v{1}: Found {2} new {3}".format(PLUGIN_NAME, PLUGIN_VERSION, len(newkeys), u"key" if len(newkeys)==1 else u"keys") try: - book = k4mobidedrm.GetDecryptedBook(path_to_ebook,newkeys.items(),[],[],self.starttime) + book = k4mobidedrm.GetDecryptedBook(path_to_ebook,newkeys.items(),[],[],[],self.starttime) decoded = True # store the new successful keys in the defaults print u"{0} v{1}: Saving {2} new {3}".format(PLUGIN_NAME, PLUGIN_VERSION, len(newkeys), u"key" if len(newkeys)==1 else u"keys")