]> xmof Git - DeDRM.git/commitdiff
tools v6.0.7
authorApprentice Alf <apprenticealf@gmail.com>
Tue, 11 Jun 2013 18:41:21 +0000 (19:41 +0100)
committerApprentice Alf <apprenticealf@gmail.com>
Sat, 7 Mar 2015 19:41:44 +0000 (19:41 +0000)
21 files changed:
DeDRM_Macintosh_Application/DeDRM.app/Contents/Info.plist
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/__init__.py
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/ineptepub.py
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/ineptpdf.py
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/k4mobidedrm.py
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/prefs.py
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/topazextract.py
DeDRM_Macintosh_Application/DeDRM.app/Contents/Resources/wineutils.py
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/DeDRM_app.pyw
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/__init__.py
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/ineptepub.py
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/ineptpdf.py
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/k4mobidedrm.py
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/prefs.py
DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/wineutils.py
DeDRM_calibre_plugin/DeDRM_plugin.zip
DeDRM_calibre_plugin/DeDRM_plugin/__init__.py
DeDRM_calibre_plugin/DeDRM_plugin/ignoblekeygen.py
DeDRM_calibre_plugin/DeDRM_plugin/ineptepub.py
DeDRM_calibre_plugin/DeDRM_plugin/ineptpdf.py
DeDRM_calibre_plugin/DeDRM_plugin/zipfix.py

index e2d40779959fa47f34a20a133e237cefa218cb85..9a030d4a66058e427d8ffbc108fb2314ea755d98 100644 (file)
        <key>CFBundleExecutable</key>
        <string>droplet</string>
        <key>CFBundleGetInfoString</key>
-       <string>DeDRM AppleScript 6.0.5. Written 2010–2013 by Apprentice Alf and others.</string>
+       <string>DeDRM AppleScript 6.0.7. Written 2010–2013 by Apprentice Alf and others.</string>
        <key>CFBundleIconFile</key>
        <string>DeDRM</string>
        <key>CFBundleIdentifier</key>
        <string>com.apple.ScriptEditor.id.707CCCD5-0C6C-4BEB-B67C-B6E866ADE85A</string>
        <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
+       <string>6.0.7</string>
        <key>CFBundleName</key>
        <string>DeDRM</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
-       <string>6.0.5</string>
+       <string>6.0.7</string>
        <key>CFBundleSignature</key>
        <string>dplt</string>
        <key>LSRequiresCarbon</key>
index 35c37d7b0287eca68a7eff5038cf7d675c7e00b2..caed6e818ab8eaedcda043f3e6e416d5ec760e50 100644 (file)
@@ -27,14 +27,18 @@ __docformat__ = 'restructuredtext en'
 # Revision history:
 #   6.0.0 - Initial release
 #   6.0.1 - Bug Fixes for Windows App, Kindle for Mac and Windows Adobe Digital Editions
-#   6.0.2 - Restored call to Wine to get Kindle for PC keys
+#   6.0.2 - Restored call to Wine to get Kindle for PC keys, added for ADE
+#   6.0.3 - Fixes for Kindle for Mac and Windows non-ascii user names
+#   6.0.4 - Fixes for stand-alone scripts and applications
+#           and pdb files in plugin and initial conversion of prefs.
+#   6.0.6 - Fix up an incorrect function call
 
 """
 Decrypt DRMed ebooks.
 """
 
 PLUGIN_NAME = u"DeDRM"
-PLUGIN_VERSION_TUPLE = (6, 0, 5)
+PLUGIN_VERSION_TUPLE = (6, 0, 7)
 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'
@@ -213,10 +217,10 @@ class DeDRM(FileTypePlugin):
                 else: # linux
                     from wineutils import WineGetKeys
 
-                    scriptpath = os.join(self.alfdir,u"adobekey.py")
+                    scriptpath = os.path.join(self.alfdir,u"adobekey.py")
                     defaultkeys = WineGetKeys(scriptpath, u".der",dedrmprefs['adobewineprefix'])
 
-                self.default_key = default_keys[0]
+                self.default_key = defaultkeys[0]
             except:
                 traceback.print_exc()
                 self.default_key = u""
@@ -308,7 +312,7 @@ class DeDRM(FileTypePlugin):
                 try:
                     from wineutils import WineGetKeys
 
-                    scriptpath = os.join(self.alfdir,u"adobekey.py")
+                    scriptpath = os.path.join(self.alfdir,u"adobekey.py")
                     defaultkeys = self.WineGetKeys(scriptpath, u".der",dedrmprefs['adobewineprefix'])
                 except:
                     pass
@@ -386,7 +390,7 @@ class DeDRM(FileTypePlugin):
                 else: # linux
                     from wineutils import WineGetKeys
 
-                    scriptpath = os.join(self.alfdir,u"kindlekey.py")
+                    scriptpath = os.path.join(self.alfdir,u"kindlekey.py")
                     defaultkeys = self.WineGetKeys(scriptpath, u".k4i",dedrmprefs['kindlewineprefix'])
             except:
                 pass
@@ -426,7 +430,7 @@ class DeDRM(FileTypePlugin):
         import calibre_plugins.dedrm.prefs as prefs
         import calibre_plugins.dedrm.erdr2pml
 
-        dedrmrefs = prefs.DeDRM_Prefs()
+        dedrmprefs = prefs.DeDRM_Prefs()
         # Attempt to decrypt epub with each encryption key (generated or provided).
         for keyname, userkey in dedrmprefs['ereaderkeys'].items():
             keyname_masked = u"".join((u'X' if (x.isdigit()) else x) for x in keyname)
index 225ffa74cc5a98570e31e04c6f257e0d47f70749..f8181cb34330e997494f766ba342be492f27e2b6 100644 (file)
@@ -3,7 +3,7 @@
 
 from __future__ import with_statement
 
-# ineptepub.pyw, version 5.9
+# ineptepub.pyw, version 6.1
 # Copyright © 2009-2010 by i♥cabbages
 
 # Released under the terms of the GNU General Public Licence, version 3
index 797db602f5ce605e1f1a77dc9f9b63a4bae27600..1986e20249e8bb98abed5ede47290c5f1fc6906b 100644 (file)
@@ -51,14 +51,15 @@ from __future__ import with_statement
 #   7.12 - Revised to allow use in calibre plugins to eliminate need for duplicate code
 #   7.13 - Fixed erroneous mentions of ineptepub
 #   7.14 - moved unicode_argv call inside main for Windows DeDRM compatibility
-#   8.0 - Work if TkInter is missing
+#   8.0  - Work if TkInter is missing
+#   8.0.1 - Broken Metadata fix.
 
 """
 Decrypts Adobe ADEPT-encrypted PDF files.
 """
 
 __license__ = 'GPL v3'
-__version__ = "8.0"
+__version__ = "8.0.1"
 
 import sys
 import os
@@ -949,8 +950,11 @@ class PSStackParser(PSBaseParser):
                 try:
                     (pos, objs) = self.end_type('d')
                     if len(objs) % 2 != 0:
-                        raise PSSyntaxError(
-                            'Invalid dictionary construct: %r' % objs)
+                        print "Incomplete dictionary construct"
+                        objs.append("") # this isn't necessary.
+                        # temporary fix. is this due to rental books?
+                        # raise PSSyntaxError(
+                        #     'Invalid dictionary construct: %r' % objs)
                     d = dict((literal_name(k), v) \
                                  for (k,v) in choplist(2, objs))
                     self.push((pos, d))
index 0e426a14e4d2d58e01ed112bc3a686ceec6b0ff7..929ce5743a707a500cbe666e0fa4075a8fcd1849 100644 (file)
@@ -188,7 +188,7 @@ def unescape(text):
 def GetDecryptedBook(infile, kDatabases, serials, pids, starttime = time.time()):
     # handle the obvious cases at the beginning
     if not os.path.isfile(infile):
-        raise DRMException (u"Input file does not exist.")
+        raise DrmException(u"Input file does not exist.")
 
     mobi = True
     magic3 = open(infile,'rb').read(3)
index 2c8c665f095148cd93e6fb1e1d2e90ff548d298c..05065acd336eb14733026c862e788c6ff036672a 100644 (file)
@@ -114,7 +114,7 @@ def convertprefs(always = False):
                 # Generate eReader user key from name and credit card number.
                 keyname = u"{0}_{1}".format(name.strip(),cc.strip()[-4:])
                 keyvalue = getuser_key(name,cc).encode('hex')
-                userkeysappend([keyname,keyvalue])
+                userkeys.append([keyname,keyvalue])
             except Exception, e:
                 traceback.print_exc()
                 print e.args[0]
@@ -231,21 +231,20 @@ def convertprefs(always = False):
         dedrmprefs.addnamedvaluetoprefs('bandnkeys', name, value)
     addedkeycount = len(dedrmprefs['bandnkeys'])-priorkeycount
     if addedkeycount > 0:
-        print u"{0} v{1}: {2:d} Barnes and Noble {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, ignoblecount, u"key file" if ignoblecount==1 else u"key files")
+        print u"{0} v{1}: {2:d} Barnes and Noble {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, addedkeycount, u"key file" if addedkeycount==1 else u"key files")
     # Make the json write all the prefs to disk
     dedrmprefs.writeprefs(False)
 
     # get any .der files in the config dir
     priorkeycount = len(dedrmprefs['adeptkeys'])
     adeptfilekeys = getConfigFiles('.der','hex')
-    ineptcount = addConfigFiles('.der', 'adeptkeys')
     for keypair in adeptfilekeys:
         name = keypair[0]
         value = keypair[1]
         dedrmprefs.addnamedvaluetoprefs('adeptkeys', name, value)
     addedkeycount = len(dedrmprefs['adeptkeys'])-priorkeycount
     if addedkeycount > 0:
-        print u"{0} v{1}: {2:d} Adobe Adept {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, ineptcount, u"keyfile" if ineptcount==1 else u"keyfiles")
+        print u"{0} v{1}: {2:d} Adobe Adept {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, addedkeycount, u"keyfile" if addedkeycount==1 else u"keyfiles")
     # Make the json write all the prefs to disk
     dedrmprefs.writeprefs(False)
 
@@ -280,7 +279,7 @@ def convertprefs(always = False):
     if addedserialcount > 0:
         print u"{0} v{1}: {2:d} {3} imported from Kindle plugin preferences".format(PLUGIN_NAME, PLUGIN_VERSION, addedserialcount, u"serial number" if addedserialcount==1 else u"serial numbers")
     try:
-        if kindleprefs['wineprefix'] != "":
+        if 'wineprefix' in kindleprefs and kindleprefs['wineprefix'] != "":
             dedrmprefs.set('adobewineprefix',kindleprefs['wineprefix'])
             dedrmprefs.set('kindlewineprefix',kindleprefs['wineprefix'])
             print u"{0} v{1}: WINEPREFIX ‘(2)’ imported from Kindle plugin preferences".format(PLUGIN_NAME, PLUGIN_VERSION, kindleprefs['wineprefix'])
index 72f8797f7ee623b88246952041f448757bd260d5..97f658304d857a3cb547e8a8cb305a83b596c7d5 100644 (file)
@@ -71,7 +71,7 @@ def unicode_argv():
         argvencoding = sys.stdin.encoding
         if argvencoding == None:
             argvencoding = 'utf-8'
-        return [arg if (type(arg) == unicode) else unicode(arg, argvencoding) for arg in sys.argv]
+        return [arg if (type(arg) == unicode) else unicode(arg,argvencoding) for arg in sys.argv]
 
 #global switch
 debug = False
@@ -92,12 +92,12 @@ class DrmException(Exception):
 def zipUpDir(myzip, tdir, localname):
     currentdir = tdir
     if localname != u"":
-        currentdir = os.path.join(currentdir, localname)
+        currentdir = os.path.join(currentdir,localname)
     list = os.listdir(currentdir)
     for file in list:
         afilename = file
         localfilePath = os.path.join(localname, afilename)
-        realfilePath = os.path.join(currentdir, file)
+        realfilePath = os.path.join(currentdir,file)
         if os.path.isfile(realfilePath):
             myzip.write(realfilePath, localfilePath)
         elif os.path.isdir(realfilePath):
@@ -116,7 +116,7 @@ def bookReadEncodedNumber(fo):
         data = ord(fo.read(1))
     if data >= 0x80:
         datax = (data & 0x7F)
-        while data >= 0x80:
+        while data >= 0x80 :
             data = ord(fo.read(1))
             datax = (datax <<7) + (data & 0x7F)
         data = datax
index f8d5f7aed37381359ef455f49cf9f3ad1d4382ce..b54db8043a0b998e7f666309812a2edeb70c7a52 100644 (file)
@@ -24,7 +24,7 @@ def WineGetKeys(scriptpath, extension, wineprefix=""):
 
     outdirpath = os.path.join(basepath, u"winekeysdir")
     if not os.path.exists(outdirpath):
-        os.mkdir(outdirpath)
+        os.makedirs(outdirpath)
 
     if wineprefix != "" and os.path.exists(wineprefix):
          cmdline = u"WINEPREFIX=\"{2}\" wine python.exe \"{0}\" \"{1}\"".format(scriptpath,outdirpath,wineprefix)
index 26eb06e597c72607466110d16af22095f9a0e672..e73226b72c94454d70b9f669d30d89ee686007b2 100644 (file)
@@ -12,7 +12,7 @@
 #   6.0.4 - Fix for other potential unicode problems
 #   6.0.5 - Fix typo
 
-__version__ = '6.0.5'
+__version__ = '6.0.7'
 
 import sys
 import os, os.path
index 830b66df27789b7feb2570da2aea3c4ce1688113..caed6e818ab8eaedcda043f3e6e416d5ec760e50 100644 (file)
@@ -31,13 +31,14 @@ __docformat__ = 'restructuredtext en'
 #   6.0.3 - Fixes for Kindle for Mac and Windows non-ascii user names
 #   6.0.4 - Fixes for stand-alone scripts and applications
 #           and pdb files in plugin and initial conversion of prefs.
+#   6.0.6 - Fix up an incorrect function call
 
 """
 Decrypt DRMed ebooks.
 """
 
 PLUGIN_NAME = u"DeDRM"
-PLUGIN_VERSION_TUPLE = (6, 0, 5)
+PLUGIN_VERSION_TUPLE = (6, 0, 7)
 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'
@@ -216,10 +217,10 @@ class DeDRM(FileTypePlugin):
                 else: # linux
                     from wineutils import WineGetKeys
 
-                    scriptpath = os.join(self.alfdir,u"adobekey.py")
+                    scriptpath = os.path.join(self.alfdir,u"adobekey.py")
                     defaultkeys = WineGetKeys(scriptpath, u".der",dedrmprefs['adobewineprefix'])
 
-                self.default_key = default_keys[0]
+                self.default_key = defaultkeys[0]
             except:
                 traceback.print_exc()
                 self.default_key = u""
@@ -311,7 +312,7 @@ class DeDRM(FileTypePlugin):
                 try:
                     from wineutils import WineGetKeys
 
-                    scriptpath = os.join(self.alfdir,u"adobekey.py")
+                    scriptpath = os.path.join(self.alfdir,u"adobekey.py")
                     defaultkeys = self.WineGetKeys(scriptpath, u".der",dedrmprefs['adobewineprefix'])
                 except:
                     pass
@@ -389,7 +390,7 @@ class DeDRM(FileTypePlugin):
                 else: # linux
                     from wineutils import WineGetKeys
 
-                    scriptpath = os.join(self.alfdir,u"kindlekey.py")
+                    scriptpath = os.path.join(self.alfdir,u"kindlekey.py")
                     defaultkeys = self.WineGetKeys(scriptpath, u".k4i",dedrmprefs['kindlewineprefix'])
             except:
                 pass
index 225ffa74cc5a98570e31e04c6f257e0d47f70749..f8181cb34330e997494f766ba342be492f27e2b6 100644 (file)
@@ -3,7 +3,7 @@
 
 from __future__ import with_statement
 
-# ineptepub.pyw, version 5.9
+# ineptepub.pyw, version 6.1
 # Copyright © 2009-2010 by i♥cabbages
 
 # Released under the terms of the GNU General Public Licence, version 3
index 797db602f5ce605e1f1a77dc9f9b63a4bae27600..1986e20249e8bb98abed5ede47290c5f1fc6906b 100644 (file)
@@ -51,14 +51,15 @@ from __future__ import with_statement
 #   7.12 - Revised to allow use in calibre plugins to eliminate need for duplicate code
 #   7.13 - Fixed erroneous mentions of ineptepub
 #   7.14 - moved unicode_argv call inside main for Windows DeDRM compatibility
-#   8.0 - Work if TkInter is missing
+#   8.0  - Work if TkInter is missing
+#   8.0.1 - Broken Metadata fix.
 
 """
 Decrypts Adobe ADEPT-encrypted PDF files.
 """
 
 __license__ = 'GPL v3'
-__version__ = "8.0"
+__version__ = "8.0.1"
 
 import sys
 import os
@@ -949,8 +950,11 @@ class PSStackParser(PSBaseParser):
                 try:
                     (pos, objs) = self.end_type('d')
                     if len(objs) % 2 != 0:
-                        raise PSSyntaxError(
-                            'Invalid dictionary construct: %r' % objs)
+                        print "Incomplete dictionary construct"
+                        objs.append("") # this isn't necessary.
+                        # temporary fix. is this due to rental books?
+                        # raise PSSyntaxError(
+                        #     'Invalid dictionary construct: %r' % objs)
                     d = dict((literal_name(k), v) \
                                  for (k,v) in choplist(2, objs))
                     self.push((pos, d))
index 0e426a14e4d2d58e01ed112bc3a686ceec6b0ff7..929ce5743a707a500cbe666e0fa4075a8fcd1849 100644 (file)
@@ -188,7 +188,7 @@ def unescape(text):
 def GetDecryptedBook(infile, kDatabases, serials, pids, starttime = time.time()):
     # handle the obvious cases at the beginning
     if not os.path.isfile(infile):
-        raise DRMException (u"Input file does not exist.")
+        raise DrmException(u"Input file does not exist.")
 
     mobi = True
     magic3 = open(infile,'rb').read(3)
index 2c8c665f095148cd93e6fb1e1d2e90ff548d298c..05065acd336eb14733026c862e788c6ff036672a 100644 (file)
@@ -114,7 +114,7 @@ def convertprefs(always = False):
                 # Generate eReader user key from name and credit card number.
                 keyname = u"{0}_{1}".format(name.strip(),cc.strip()[-4:])
                 keyvalue = getuser_key(name,cc).encode('hex')
-                userkeysappend([keyname,keyvalue])
+                userkeys.append([keyname,keyvalue])
             except Exception, e:
                 traceback.print_exc()
                 print e.args[0]
@@ -231,21 +231,20 @@ def convertprefs(always = False):
         dedrmprefs.addnamedvaluetoprefs('bandnkeys', name, value)
     addedkeycount = len(dedrmprefs['bandnkeys'])-priorkeycount
     if addedkeycount > 0:
-        print u"{0} v{1}: {2:d} Barnes and Noble {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, ignoblecount, u"key file" if ignoblecount==1 else u"key files")
+        print u"{0} v{1}: {2:d} Barnes and Noble {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, addedkeycount, u"key file" if addedkeycount==1 else u"key files")
     # Make the json write all the prefs to disk
     dedrmprefs.writeprefs(False)
 
     # get any .der files in the config dir
     priorkeycount = len(dedrmprefs['adeptkeys'])
     adeptfilekeys = getConfigFiles('.der','hex')
-    ineptcount = addConfigFiles('.der', 'adeptkeys')
     for keypair in adeptfilekeys:
         name = keypair[0]
         value = keypair[1]
         dedrmprefs.addnamedvaluetoprefs('adeptkeys', name, value)
     addedkeycount = len(dedrmprefs['adeptkeys'])-priorkeycount
     if addedkeycount > 0:
-        print u"{0} v{1}: {2:d} Adobe Adept {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, ineptcount, u"keyfile" if ineptcount==1 else u"keyfiles")
+        print u"{0} v{1}: {2:d} Adobe Adept {3} imported from config folder.".format(PLUGIN_NAME, PLUGIN_VERSION, addedkeycount, u"keyfile" if addedkeycount==1 else u"keyfiles")
     # Make the json write all the prefs to disk
     dedrmprefs.writeprefs(False)
 
@@ -280,7 +279,7 @@ def convertprefs(always = False):
     if addedserialcount > 0:
         print u"{0} v{1}: {2:d} {3} imported from Kindle plugin preferences".format(PLUGIN_NAME, PLUGIN_VERSION, addedserialcount, u"serial number" if addedserialcount==1 else u"serial numbers")
     try:
-        if kindleprefs['wineprefix'] != "":
+        if 'wineprefix' in kindleprefs and kindleprefs['wineprefix'] != "":
             dedrmprefs.set('adobewineprefix',kindleprefs['wineprefix'])
             dedrmprefs.set('kindlewineprefix',kindleprefs['wineprefix'])
             print u"{0} v{1}: WINEPREFIX ‘(2)’ imported from Kindle plugin preferences".format(PLUGIN_NAME, PLUGIN_VERSION, kindleprefs['wineprefix'])
index f8d5f7aed37381359ef455f49cf9f3ad1d4382ce..b54db8043a0b998e7f666309812a2edeb70c7a52 100644 (file)
@@ -24,7 +24,7 @@ def WineGetKeys(scriptpath, extension, wineprefix=""):
 
     outdirpath = os.path.join(basepath, u"winekeysdir")
     if not os.path.exists(outdirpath):
-        os.mkdir(outdirpath)
+        os.makedirs(outdirpath)
 
     if wineprefix != "" and os.path.exists(wineprefix):
          cmdline = u"WINEPREFIX=\"{2}\" wine python.exe \"{0}\" \"{1}\"".format(scriptpath,outdirpath,wineprefix)
index 6f6c7a511e7637162ea825d88e8294ed4778ee99..7c4878ac2a4db8fcac318e129bd2a29f211fd7a8 100644 (file)
Binary files a/DeDRM_calibre_plugin/DeDRM_plugin.zip and b/DeDRM_calibre_plugin/DeDRM_plugin.zip differ
index 77423e12b6cbc47cbab932cbbbed80710ba88fcf..caed6e818ab8eaedcda043f3e6e416d5ec760e50 100644 (file)
@@ -38,7 +38,7 @@ Decrypt DRMed ebooks.
 """
 
 PLUGIN_NAME = u"DeDRM"
-PLUGIN_VERSION_TUPLE = (6, 0, 6)
+PLUGIN_VERSION_TUPLE = (6, 0, 7)
 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'
@@ -220,7 +220,7 @@ class DeDRM(FileTypePlugin):
                     scriptpath = os.path.join(self.alfdir,u"adobekey.py")
                     defaultkeys = WineGetKeys(scriptpath, u".der",dedrmprefs['adobewineprefix'])
 
-                self.default_key = default_keys[0]
+                self.default_key = defaultkeys[0]
             except:
                 traceback.print_exc()
                 self.default_key = u""
index 225ffa74cc5a98570e31e04c6f257e0d47f70749..f8181cb34330e997494f766ba342be492f27e2b6 100644 (file)
@@ -3,7 +3,7 @@
 
 from __future__ import with_statement
 
-# ineptepub.pyw, version 5.9
+# ineptepub.pyw, version 6.1
 # Copyright © 2009-2010 by i♥cabbages
 
 # Released under the terms of the GNU General Public Licence, version 3
index 797db602f5ce605e1f1a77dc9f9b63a4bae27600..1986e20249e8bb98abed5ede47290c5f1fc6906b 100644 (file)
@@ -51,14 +51,15 @@ from __future__ import with_statement
 #   7.12 - Revised to allow use in calibre plugins to eliminate need for duplicate code
 #   7.13 - Fixed erroneous mentions of ineptepub
 #   7.14 - moved unicode_argv call inside main for Windows DeDRM compatibility
-#   8.0 - Work if TkInter is missing
+#   8.0  - Work if TkInter is missing
+#   8.0.1 - Broken Metadata fix.
 
 """
 Decrypts Adobe ADEPT-encrypted PDF files.
 """
 
 __license__ = 'GPL v3'
-__version__ = "8.0"
+__version__ = "8.0.1"
 
 import sys
 import os
@@ -949,8 +950,11 @@ class PSStackParser(PSBaseParser):
                 try:
                     (pos, objs) = self.end_type('d')
                     if len(objs) % 2 != 0:
-                        raise PSSyntaxError(
-                            'Invalid dictionary construct: %r' % objs)
+                        print "Incomplete dictionary construct"
+                        objs.append("") # this isn't necessary.
+                        # temporary fix. is this due to rental books?
+                        # raise PSSyntaxError(
+                        #     'Invalid dictionary construct: %r' % objs)
                     d = dict((literal_name(k), v) \
                                  for (k,v) in choplist(2, objs))
                     self.push((pos, d))
index 0e426a14e4d2d58e01ed112bc3a686ceec6b0ff7..929ce5743a707a500cbe666e0fa4075a8fcd1849 100644 (file)
@@ -188,7 +188,7 @@ def unescape(text):
 def GetDecryptedBook(infile, kDatabases, serials, pids, starttime = time.time()):
     # handle the obvious cases at the beginning
     if not os.path.isfile(infile):
-        raise DRMException (u"Input file does not exist.")
+        raise DrmException(u"Input file does not exist.")
 
     mobi = True
     magic3 = open(infile,'rb').read(3)
index f8d5f7aed37381359ef455f49cf9f3ad1d4382ce..b54db8043a0b998e7f666309812a2edeb70c7a52 100644 (file)
@@ -24,7 +24,7 @@ def WineGetKeys(scriptpath, extension, wineprefix=""):
 
     outdirpath = os.path.join(basepath, u"winekeysdir")
     if not os.path.exists(outdirpath):
-        os.mkdir(outdirpath)
+        os.makedirs(outdirpath)
 
     if wineprefix != "" and os.path.exists(wineprefix):
          cmdline = u"WINEPREFIX=\"{2}\" wine python.exe \"{0}\" \"{1}\"".format(scriptpath,outdirpath,wineprefix)