diff --git a/contrib/DeDRM_Macintosh_Application/DeDRM ReadMe.rtf b/contrib/DeDRM_Macintosh_Application/DeDRM ReadMe.rtf index a1f6386..42ff222 100644 --- a/contrib/DeDRM_Macintosh_Application/DeDRM ReadMe.rtf +++ b/contrib/DeDRM_Macintosh_Application/DeDRM ReadMe.rtf @@ -1,29 +1,33 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset134 STHeitiSC-Light;} {\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} \paperw11900\paperh16840\vieww12000\viewh15840\viewkind0 \deftab720 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\qc\partightenfactor0 \f0\b\fs24 \cf0 DeDRM ReadMe \b0 \ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\qj\partightenfactor0 + +\b \cf0 \ +\ +DeDRM is now a 64-bit application for Mac OS X 10.6 and later. +\b0 \ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\partightenfactor0 \cf0 \ -\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\partightenfactor0 \b \cf0 First Use for Mac OS X 10.9 and later\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\partightenfactor0 -\b0 \cf0 The application is not signed, so the first time you run it you will need to change your security options, or hold down the option key when double-clicking on the icon, or control-click or right-button to get the contextual menu to open it.\ +\b0 \cf0 The application is not signed, so the first time you run it you will need to change your security options, or hold down the option key when double-clicking on the icon, or control-click or right-button to get the contextual menu to open it. For later versions, after trying to run it once, you may need to go to the security options of the control panel and give explicit permission for this application to be run.\ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\partightenfactor0 \b \cf0 \ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\qj\partightenfactor0 -\b0 \cf0 \ -\ -DeDRM is an application that packs all of the python dm removal software into one easy to use program that remembers preferences and settings.\ +\b0 \cf0 DeDRM is an application that packs all of the python dm removal software into one easy to use program that remembers preferences and settings.\ It works without manual configuration with Kindle for Mac ebooks, Adobe Digital Editions Adept ePub and PDF ebooks, and Barnes & Noble NOOK Study ebooks.\ \ To remove the DRM of Kindle ebooks from eInk Kindles, other Barnes & Noble ePubs, eReader pdb ebooks, or Mobipocket ebooks, you must first run DeDRM application (by double-clicking it) and set some additional Preferences, depending on the origin of your ebook files:\ @@ -52,8 +56,7 @@ A final preference is the destination folder for the DRM-free copies of your ebo \ Once these preferences have been set, you can drag and drop ebooks (or folders of ebooks) onto the DeDRM droplet to remove the DRM.\ \ -This program uses notifications, so really needs Mac OS X 10.8 or above. It will not work on Mac OS X 10.4 or earlier. It might work on Mac OS X 10.5-10.7, but the latest Kindle for Mac does not support those System versions.\ -\ +This program uses notifications, so really needs Mac OS X 10.8 or above.\ \ \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardeftab720\partightenfactor0 diff --git a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist index 242df50..86356d3 100644 --- a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist +++ b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist @@ -23,12 +23,10 @@ CFBundleExecutable droplet - CFBundleGetInfoString - DeDRM AppleScript 6.6.1 Written 2010–2018 by Apprentice Alf et al. CFBundleIconFile DeDRM CFBundleIdentifier - com.apple.ScriptEditor.id.707CCCD5-0C6C-4BEB-B67C-B6E866ADE85A + com.apple.ScriptEditor.id.DeDRM CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -36,9 +34,14 @@ CFBundlePackageType APPL CFBundleShortVersionString - 6.6.1 + 6.6.2 CFBundleSignature dplt + LSMinimumSystemVersionByArchitecture + + x86_64 + 10.6 + LSRequiresCarbon NSHumanReadableCopyright diff --git a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/MacOS/droplet b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/MacOS/droplet old mode 100644 new mode 100755 index 5436333..171d0cc Binary files a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/MacOS/droplet and b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/MacOS/droplet differ diff --git a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/Scripts/main.scpt b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/Scripts/main.scpt index a267716..ca56794 100644 Binary files a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/Scripts/main.scpt and b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/Scripts/main.scpt differ diff --git a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/description.rtfd/TXT.rtf b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/description.rtfd/TXT.rtf index 2ce2259..76ac711 100644 --- a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/description.rtfd/TXT.rtf +++ b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/description.rtfd/TXT.rtf @@ -1,4 +1,5 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470 +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 {\fonttbl} {\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} } \ No newline at end of file diff --git a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/droplet.rsrc b/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/droplet.rsrc deleted file mode 100644 index 6620282..0000000 Binary files a/contrib/DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/droplet.rsrc and /dev/null differ diff --git a/contrib/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_App.pyw b/contrib/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_App.pyw index 377e859..241ad87 100644 --- a/contrib/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_App.pyw +++ b/contrib/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_App.pyw @@ -33,8 +33,9 @@ # 6.5.5 - Kindle for PC/Accented characters in username fix. # 6.6.0 - Initial KFX support from TomThumb # 6.6.1 - Standalong app fix from wzyboy +# 6.6.2 - Version bump for 64-bit Mac OS X app and various fixes. -__version__ = '6.6.1' +__version__ = '6.6.2' import sys import os, os.path diff --git a/contrib/ReadMe_First.txt b/contrib/ReadMe_First.txt index c845465..9511ce4 100644 --- a/contrib/ReadMe_First.txt +++ b/contrib/ReadMe_First.txt @@ -1,7 +1,7 @@ Welcome to the tools! ===================== -This ReadMe_First.txt is meant to give users a quick overview of what is available and how to get started. This document is part of the Tools v6.6.0 archive from Apprentice Harper's github repository: https://github.com/apprenticeharper/DeDRM_tools/ +This ReadMe_First.txt is meant to give users a quick overview of what is available and how to get started. This document is part of the Tools v6.6.2 archive from Apprentice Harper's github repository: https://github.com/apprenticeharper/DeDRM_tools/ The is archive includes tools to remove DRM from: @@ -46,14 +46,12 @@ To import ebooks from the Kobo Desktop app or from a Kobo ebook reader, install For instructions, see the obok_plugin_ReadMe.txt file in the Obok_calibre_plugin folder. -DeDRM application for Mac OS X users: (Mac OS X 10.4 and above) +DeDRM application for Mac OS X users: (Mac OS X 10.6 and above) --------------------------------------------------------------- This application is a stand-alone DRM removal application for Mac OS X users. It is only needed for people who cannot or will not use the calibre plugin. KFX support has not been tested yet. For instructions, see the "DeDRM ReadMe.rtf" file in the DeDRM_Macintosh_Application folder. -N.B. Mac OS X 10.4 users need to take extra steps before using the application, see the ReadMe. - DeDRM application for Windows users: (Windows XP through Windows 10) ------------------------------------------------------------------ @@ -76,7 +74,7 @@ DRM_Key_Scripts This folder contains python scripts that create or extract or fetch encryption keyfiles for Barnes and Noble, Adobe Digital Editions, Kindle for Mac/PC and old versions of Kindle for Android. Kindle_for_Android_Patches -Definitely only for the adventurous, this folder contains information on how to modify the Kindle for Android app to b able to get a PID for use with the other Kindle tools (DeDRM apps and calibre plugin). +Definitely only for the adventurous, this folder contains information on how to modify the Kindle for Android app to b able to get a PID for use with the other Kindle tools (DeDRM apps and calibre plugin). Kobo Contains the standalone obok python script for removing DRM from kePubs downloaded using the kobo desktop application. diff --git a/dedrm_src/__init__.py b/dedrm_src/__init__.py index 0581f72..bb10cc5 100644 --- a/dedrm_src/__init__.py +++ b/dedrm_src/__init__.py @@ -66,6 +66,7 @@ __docformat__ = 'restructuredtext en' # 6.6.0 - Add kfx and kfx-zip as supported file types (also invoke this plugin if the original # imported format was azw8 since that may be converted to kfx) # 6.6.1 - Thanks to wzyboy for a fix for stand-alone tools, and the new folder structure. +# 6.6.2 - revamp of folders to get Mac OS X app working. Updated to 64-bit app. Various fixes. """ @@ -73,7 +74,7 @@ Decrypt DRMed ebooks. """ PLUGIN_NAME = u"DeDRM" -PLUGIN_VERSION_TUPLE = (6, 6, 1) +PLUGIN_VERSION_TUPLE = (6, 6, 2) 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' diff --git a/make_release.py b/make_release.py index 20bb001..5c050c4 100755 --- a/make_release.py +++ b/make_release.py @@ -13,93 +13,67 @@ import os import shutil -SRC_DIR = 'src' -CONTRIB_BASE = 'contrib' -BUILD_BASE = 'build' -DIST_BASE = 'dist' - +DEDRM_SRC_DIR = 'dedrm_src' +OBOK_SRC_DIR = 'obok_src' +SHELLS_BASE = 'contrib' def make_calibre_plugin(): + calibre_plugin_dir = os.path.join(SHELLS_BASE, 'DeDRM_calibre_plugin') + core_dir = os.path.join(calibre_plugin_dir, 'DeDRM_plugin') - contrib_dir = os.path.join(CONTRIB_BASE, 'calibre') + shutil.copytree(DEDRM_SRC_DIR, core_dir) + shutil.make_archive(core_dir, 'zip', core_dir) + shutil.rmtree(core_dir) - build_dir = os.path.join(BUILD_BASE, 'DeDRM_calibre_plugin') - core_dir = os.path.join(build_dir, 'DeDRM_plugin') - plugin_name = os.path.join(build_dir, 'DeDRM_plugin') - shutil.copytree(contrib_dir, build_dir) - shutil.copytree(SRC_DIR, core_dir) +def make_obok_plugin(): + obok_plugin_dir = os.path.join(SHELLS_BASE, 'Obok_calibre_plugin') + core_dir = os.path.join(obok_plugin_dir, 'obok_plugin') - shutil.make_archive(plugin_name, 'zip', core_dir) + shutil.copytree(OBOK_SRC_DIR, core_dir) + shutil.make_archive(core_dir, 'zip', core_dir) shutil.rmtree(core_dir) def make_windows_app(): + windows_app_dir = os.path.join(SHELLS_BASE, 'DeDRM_Windows_Application') + core_dir = os.path.join(windows_app_dir, 'DeDRM_App', 'DeDRM_lib', 'lib') - contrib_dir = os.path.join(CONTRIB_BASE, 'windows') - - build_dir = os.path.join(BUILD_BASE, 'DeDRM_Windows_Application') - core_dir = os.path.join(build_dir, 'DeDRM_App', 'DeDRM_lib', 'lib') + # delete any existing core_dir + try: + shutil.rmtree(core_dir) + except OSError: + pass - shutil.copytree(contrib_dir, build_dir) - shutil.copytree(SRC_DIR, core_dir) + shutil.copytree(DEDRM_SRC_DIR, core_dir) def make_macos_app(): + macos_app_dir = os.path.join(SHELLS_BASE, 'DeDRM_Macintosh_Application') + core_dir = os.path.join(macos_app_dir, 'DeDRM.app', 'Contents', 'Resources') - contrib_dir = os.path.join(CONTRIB_BASE, 'macos') - build_dir = os.path.join(BUILD_BASE, 'DeDRM_Macintosh_Application') - core_dir = os.path.join(build_dir, 'DeDRM.app', 'Contents', 'Resources') - - shutil.copytree(contrib_dir, build_dir) - - _, dirs, files = next(os.walk(SRC_DIR)) + # Resources already exists - copy contents to contents. + _, dirs, files = next(os.walk(DEDRM_SRC_DIR)) for name in dirs: shutil.copyfile( - os.path.join(SRC_DIR, name), + os.path.join(DEDRM_SRC_DIR, name), os.path.join(core_dir, name) ) for name in files: shutil.copy2( - os.path.join(SRC_DIR, name), + os.path.join(DEDRM_SRC_DIR, name), os.path.join(core_dir, name) ) -def make_obok_plugin(): - - build_dir = os.path.join(BUILD_BASE, 'Obok_calibre_plugin') - core_dir = os.path.join(build_dir, 'obok_plugin') - plugin_name = os.path.join(build_dir, 'obok_plugin') - - shutil.copytree('Obok_calibre_plugin', build_dir) - shutil.make_archive(plugin_name, 'zip', core_dir) - - -def make_misc(): - - for name in ('Other_Tools',): - shutil.copytree(name, os.path.join(BUILD_BASE, name)) - for name in ('FAQs.md', 'README.md', 'ReadMe_First.txt',): - shutil.copy2(name, os.path.join(BUILD_BASE, name)) - - def make_release(version): - - try: - shutil.rmtree(BUILD_BASE) - except OSError: - pass - make_calibre_plugin() make_windows_app() make_macos_app() make_obok_plugin() - make_misc() release_name = 'DeDRM_tools_{}'.format(version) - release_path = os.path.join(DIST_BASE, release_name) - return shutil.make_archive(release_path, 'zip', BUILD_BASE) + return shutil.make_archive(release_name, 'zip', SHELLS_BASE) if __name__ == '__main__':