From: apprenticeharper Date: Mon, 13 Jul 2015 17:02:48 +0000 (+0100) Subject: Merge branch 'nook_url_support' X-Git-Url: http://git.xmof.duckdns.org/?a=commitdiff_plain;h=c16d767b0067025f402bb86b5d3433635d58cb94;p=DeDRM.git Merge branch 'nook_url_support' --- c16d767b0067025f402bb86b5d3433635d58cb94 diff --cc DeDRM_Macintosh_Application/DeDRM.app.txt index d9c2f55,01768cd..e79ff4e Binary files differ diff --cc DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist index 1e1d4cc,c173211..2beb96d --- a/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist +++ b/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist @@@ -48,7 -48,7 +48,6 @@@ bundleDividerCollapsed bundlePositionOfDivider - 739 - 728 dividerCollapsed eventLogLevel diff --cc DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py index 0ba33f4,e0072f1..82329fe --- a/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py +++ b/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py @@@ -40,8 -40,9 +40,10 @@@ __docformat__ = 'restructuredtext en # 6.2.0 - Support for getting B&N key from nook Study log. Fix for UTF-8 filenames in Adobe ePubs. # Fix for not copying needed files. Fix for getting default Adobe key for PDFs # 6.2.1 - Fix for non-ascii Windows user names + # 6.2.2 - Added URL method for B&N/nook books +# 6.3.0 - Added in Kindle for Android serial number solution + """ Decrypt DRMed ebooks. """ diff --cc DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw index e27355f,b3c53af..5f9623c --- a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw +++ b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw @@@ -13,9 -13,10 +13,10 @@@ # 6.0.5 - Fix typo # 6.2.0 - Update to match plugin and AppleScript # 6.2.1 - Fix for non-ascii user names + # 6.2.2 - Added URL method for B&N/nook books +# 6.3.0 - Add in Android support - -__version__ = '6.2.2' +__version__ = '6.3.0' import sys import os, os.path diff --cc DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py index 0ba33f4,e0072f1..82329fe --- a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py +++ b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py @@@ -40,8 -40,9 +40,10 @@@ __docformat__ = 'restructuredtext en # 6.2.0 - Support for getting B&N key from nook Study log. Fix for UTF-8 filenames in Adobe ePubs. # Fix for not copying needed files. Fix for getting default Adobe key for PDFs # 6.2.1 - Fix for non-ascii Windows user names + # 6.2.2 - Added URL method for B&N/nook books +# 6.3.0 - Added in Kindle for Android serial number solution + """ Decrypt DRMed ebooks. """ diff --cc DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/config.py index 432a0ee,535dce7..dcba6eb --- a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/config.py +++ b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/config.py @@@ -109,11 -103,7 +109,8 @@@ class ConfigWidget(QWidget) self.ereader_button.setToolTip(_(u"Click to manage keys for eReader ebooks")) self.ereader_button.setText(u"eReader ebooks") self.ereader_button.clicked.connect(self.ereader_keys) - - button_layout.addWidget(self.adept_button) - button_layout.addWidget(self.kindle_key_button) button_layout.addWidget(self.kindle_serial_button) + button_layout.addWidget(self.kindle_android_button) button_layout.addWidget(self.bandn_button) button_layout.addWidget(self.mobi_button) button_layout.addWidget(self.ereader_button) @@@ -123,10 -115,6 +122,10 @@@ def kindle_serials(self): d = ManageKeysDialog(self,u"EInk Kindle Serial Number",self.tempdedrmprefs['serials'], AddSerialDialog) d.exec_() + + def kindle_android_serials(self): - d = ManageKeysDialog(self,u"Kindle for Andoid",self.tempdedrmprefs['androidserials'], AddAndroidSerialDialog, 'ab') ++ d = ManageKeysDialog(self,u"Kindle for Andoid Serial Number",self.tempdedrmprefs['androidserials'], AddAndroidSerialDialog, 'ab') + d.exec_() def kindle_keys(self): if isosx or iswindows: @@@ -884,51 -859,6 +883,51 @@@ class AddSerialDialog(QDialog) QDialog.accept(self) +class AddAndroidSerialDialog(QDialog): + def __init__(self, parent=None,): + QDialog.__init__(self, parent) + self.parent = parent + self.setWindowTitle(u"{0} {1}: Add New Kindle for Android Serial Number".format(PLUGIN_NAME, PLUGIN_VERSION)) + layout = QVBoxLayout(self) + self.setLayout(layout) + + data_group_box = QGroupBox(u"", self) + layout.addWidget(data_group_box) + data_group_box_layout = QVBoxLayout() + data_group_box.setLayout(data_group_box_layout) + + key_group = QHBoxLayout() + data_group_box_layout.addLayout(key_group) + key_group.addWidget(QLabel(u"Kindle for Android Serial Number:", self)) + self.key_ledit = QLineEdit("", self) - self.key_ledit.setToolTip(u"Enter a Kindle for Android serial number. These can be found using the androidkindlekey.py script.") ++ self.key_ledit.setToolTip(u"Enter a Kindle for ANdroid serial number. These can be found using the androidkindlekey.py script.") + key_group.addWidget(self.key_ledit) + key_label = QLabel(_(''), self) + key_label.setAlignment(Qt.AlignHCenter) + data_group_box_layout.addWidget(key_label) + + self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + self.button_box.accepted.connect(self.accept) + self.button_box.rejected.connect(self.reject) + layout.addWidget(self.button_box) + + self.resize(self.sizeHint()) + + @property + def key_name(self): + return unicode(self.key_ledit.text()).strip() + + @property + def key_value(self): + return unicode(self.key_ledit.text()).strip() + + def accept(self): + if len(self.key_name) == 0 or self.key_name.isspace(): + errmsg = u"Please enter a Kindle for Android Serial Number or click Cancel in the dialog." + return error_dialog(None, "{0} {1}".format(PLUGIN_NAME, PLUGIN_VERSION), errmsg, show=True, show_copy_button=False) + QDialog.accept(self) + + class AddPIDDialog(QDialog): def __init__(self, parent=None,): QDialog.__init__(self, parent) diff --cc DeDRM_calibre_plugin/DeDRM_plugin/__init__.py index 0ba33f4,e0072f1..82329fe --- a/DeDRM_calibre_plugin/DeDRM_plugin/__init__.py +++ b/DeDRM_calibre_plugin/DeDRM_plugin/__init__.py @@@ -40,8 -40,9 +40,10 @@@ __docformat__ = 'restructuredtext en # 6.2.0 - Support for getting B&N key from nook Study log. Fix for UTF-8 filenames in Adobe ePubs. # Fix for not copying needed files. Fix for getting default Adobe key for PDFs # 6.2.1 - Fix for non-ascii Windows user names + # 6.2.2 - Added URL method for B&N/nook books +# 6.3.0 - Added in Kindle for Android serial number solution + """ Decrypt DRMed ebooks. """ diff --cc DeDRM_calibre_plugin/DeDRM_plugin/config.py index 432a0ee,535dce7..dcba6eb --- a/DeDRM_calibre_plugin/DeDRM_plugin/config.py +++ b/DeDRM_calibre_plugin/DeDRM_plugin/config.py @@@ -109,11 -103,7 +109,8 @@@ class ConfigWidget(QWidget) self.ereader_button.setToolTip(_(u"Click to manage keys for eReader ebooks")) self.ereader_button.setText(u"eReader ebooks") self.ereader_button.clicked.connect(self.ereader_keys) - - button_layout.addWidget(self.adept_button) - button_layout.addWidget(self.kindle_key_button) button_layout.addWidget(self.kindle_serial_button) + button_layout.addWidget(self.kindle_android_button) button_layout.addWidget(self.bandn_button) button_layout.addWidget(self.mobi_button) button_layout.addWidget(self.ereader_button) @@@ -123,10 -115,6 +122,10 @@@ def kindle_serials(self): d = ManageKeysDialog(self,u"EInk Kindle Serial Number",self.tempdedrmprefs['serials'], AddSerialDialog) d.exec_() + + def kindle_android_serials(self): - d = ManageKeysDialog(self,u"Kindle for Andoid",self.tempdedrmprefs['androidserials'], AddAndroidSerialDialog, 'ab') ++ d = ManageKeysDialog(self,u"Kindle for Andoid Serial Number",self.tempdedrmprefs['androidserials'], AddAndroidSerialDialog, 'ab') + d.exec_() def kindle_keys(self): if isosx or iswindows: @@@ -884,51 -859,6 +883,51 @@@ class AddSerialDialog(QDialog) QDialog.accept(self) +class AddAndroidSerialDialog(QDialog): + def __init__(self, parent=None,): + QDialog.__init__(self, parent) + self.parent = parent + self.setWindowTitle(u"{0} {1}: Add New Kindle for Android Serial Number".format(PLUGIN_NAME, PLUGIN_VERSION)) + layout = QVBoxLayout(self) + self.setLayout(layout) + + data_group_box = QGroupBox(u"", self) + layout.addWidget(data_group_box) + data_group_box_layout = QVBoxLayout() + data_group_box.setLayout(data_group_box_layout) + + key_group = QHBoxLayout() + data_group_box_layout.addLayout(key_group) + key_group.addWidget(QLabel(u"Kindle for Android Serial Number:", self)) + self.key_ledit = QLineEdit("", self) - self.key_ledit.setToolTip(u"Enter a Kindle for Android serial number. These can be found using the androidkindlekey.py script.") ++ self.key_ledit.setToolTip(u"Enter a Kindle for ANdroid serial number. These can be found using the androidkindlekey.py script.") + key_group.addWidget(self.key_ledit) + key_label = QLabel(_(''), self) + key_label.setAlignment(Qt.AlignHCenter) + data_group_box_layout.addWidget(key_label) + + self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + self.button_box.accepted.connect(self.accept) + self.button_box.rejected.connect(self.reject) + layout.addWidget(self.button_box) + + self.resize(self.sizeHint()) + + @property + def key_name(self): + return unicode(self.key_ledit.text()).strip() + + @property + def key_value(self): + return unicode(self.key_ledit.text()).strip() + + def accept(self): + if len(self.key_name) == 0 or self.key_name.isspace(): + errmsg = u"Please enter a Kindle for Android Serial Number or click Cancel in the dialog." + return error_dialog(None, "{0} {1}".format(PLUGIN_NAME, PLUGIN_VERSION), errmsg, show=True, show_copy_button=False) + QDialog.accept(self) + + class AddPIDDialog(QDialog): def __init__(self, parent=None,): QDialog.__init__(self, parent) diff --cc ReadMe_First.txt index 9d3bb88,268f51a..22af920 --- a/ReadMe_First.txt +++ b/ReadMe_First.txt @@@ -60,14 -60,14 +60,17 @@@ For instructions, see the obok_plugin_R Other_Tools ----------- - This is a folder other tools that may be useful for DRMed ebooks from certain sources or for Linux users. Most users won't need any of these tools. + This is a folder of other tools that may be useful for DRMed ebooks from certain sources or for Linux users. Most users won't need any of these tools. + + DRM_Key_Scripts + This folder contains python scripts that create or extract or fetch encryption keyfiles for Barnes and Noble ePubs, Adobe Digital Editions ePubs, Kindle for Mac/PC and Kindle for Android ebooks. These files are needed for the Windows stand-alone DeDRM application. B&N_Download_Helper - A Javascript to enable a download button at the B&N website for ebooks that normally won't download to your PC. Another one only for the adventurous. + A Javascript to enable a download button at the B&N website for ebooks that normally won't download to your PC. Only for the adventurous. +DRM_Key_Scripts +This folder contains python scripts that create or extract or fetch encryption keyfiles for Barnes and Noble ePubs, Adobe Digital Editions ePubs, Kindle for Mac/PC and Kindle for Android ebooks. + Kindle_for_Android_Patches Definitely only for the adventurous, this folder contains information on how to modify the Kindel for Android app to b able to get a PID for use with the other Kindle tools (DeDRM apps and calibre plugin).