From 6b2672ff7ce2693634009b9377dcf3c4c5e177f8 Mon Sep 17 00:00:00 2001 From: Apprentice Harper Date: Wed, 18 Mar 2015 19:12:01 +0000 Subject: [PATCH] Fixes for the plugin and Android keys (help still needs adding) --- DeDRM_calibre_plugin/DeDRM_plugin.zip | Bin 337869 -> 337969 bytes DeDRM_calibre_plugin/DeDRM_plugin/__init__.py | 2 +- .../DeDRM_plugin/androidkindlekey.py | 4 +- DeDRM_calibre_plugin/DeDRM_plugin/config.py | 65 +++++++++++------- DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt | 2 +- 5 files changed, 43 insertions(+), 30 deletions(-) diff --git a/DeDRM_calibre_plugin/DeDRM_plugin.zip b/DeDRM_calibre_plugin/DeDRM_plugin.zip index 01a60f50a69d97850b7b16c32e171c0aab13cc55..9906f05a4d65cdd9d8461caac9ad4699179cc856 100644 GIT binary patch delta 8744 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 already exists!\nSkipping key file {1}.\nRename the existing key and import again".format(new_key_name,filename) - inf = info_dialog(None, "{0} {1}".format(PLUGIN_NAME, PLUGIN_VERSION), - _(msg), show_copy_button=False, show=True) - match = True - break - if not match: - if new_key_value in self.plugin_keys.values(): - old_key_name = [name for name, value in self.plugin_keys.iteritems() if value == new_key_value][0] - skipped += 1 - info_dialog(None, "{0} {1}".format(PLUGIN_NAME, PLUGIN_VERSION), - u"The key in file {0} is the same as the existing key {1} and has been skipped.".format(filename,old_key_name), show_copy_button=False, show=True) - else: - counter += 1 - self.plugin_keys[new_key_name] = new_key_value - + if type(self.plugin_keys) != dict: + # must be the new Kindle for Android section + print u"Getting keys from "+fpath + new_keys = get_serials(fpath) + for key in new_keys: + if key in self.plugin_keys: + skipped += 1 + else: + counter += 1 + self.plugin_keys.append(key) + else: + new_key_name = os.path.splitext(os.path.basename(filename))[0] + with open(fpath,'rb') as keyfile: + new_key_value = keyfile.read() + if self.binary_file: + new_key_value = new_key_value.encode('hex') + elif self.json_file: + new_key_value = json.loads(new_key_value) + match = False + for key in self.plugin_keys.keys(): + if uStrCmp(new_key_name, key, True): + skipped += 1 + msg = u"A key with the name {0} already exists!\nSkipping key file {1}.\nRename the existing key and import again".format(new_key_name,filename) + inf = info_dialog(None, "{0} {1}".format(PLUGIN_NAME, PLUGIN_VERSION), + _(msg), show_copy_button=False, show=True) + match = True + break + if not match: + if new_key_value in self.plugin_keys.values(): + old_key_name = [name for name, value in self.plugin_keys.iteritems() if value == new_key_value][0] + skipped += 1 + info_dialog(None, "{0} {1}".format(PLUGIN_NAME, PLUGIN_VERSION), + u"The key in file {0} is the same as the existing key {1} and has been skipped.".format(filename,old_key_name), show_copy_button=False, show=True) + else: + counter += 1 + self.plugin_keys[new_key_name] = new_key_value + msg = u"" if counter+skipped > 1: if counter > 0: diff --git a/DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt b/DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt index 6e77c16..dda00d7 100644 --- a/DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt +++ b/DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt @@ -91,6 +91,6 @@ These instructions have been tested with Wine 1.4 on Ubuntu. Instructions for getting Kindle for PC and Adobe Digital Editions default decryption keys ----------------------------------------------------------------------------------------- -If everything has been installed in wine as above, the keys will be retrieve automatically. +If everything has been installed in wine as above, the keys will be retrieved automatically. If you have a more complex wine installation, you may enter the appropriate WINEPREFIX in the configuration dialogs for Kindle for PC and Adobe Digital Editions. You can also test that you have entered the WINEPREFIX correctly by trying to add the default keys to the preferences by clicking on the green plus button in the configuration dialogs.