]> xmof Git - DeDRM.git/commitdiff
More Python2 fixes
authorNoDRM <no_drm123@protonmail.com>
Thu, 3 Aug 2023 18:45:06 +0000 (20:45 +0200)
committerNoDRM <no_drm123@protonmail.com>
Thu, 3 Aug 2023 18:45:06 +0000 (20:45 +0200)
14 files changed:
DeDRM_plugin/__calibre_compat_code.py
DeDRM_plugin/adobekey.py
DeDRM_plugin/config.py
DeDRM_plugin/epubtest.py
DeDRM_plugin/erdr2pml.py
DeDRM_plugin/ignoblekeyGenPassHash.py
DeDRM_plugin/ignoblekeyNookStudy.py
DeDRM_plugin/ineptepub.py
DeDRM_plugin/ineptpdf.py
DeDRM_plugin/k4mobidedrm.py
DeDRM_plugin/kindlekey.py
DeDRM_plugin/kindlepid.py
DeDRM_plugin/mobidedrm.py
DeDRM_plugin/topazextract.py

index a535a424f5840cd98150132b2c2a8ac7a08a6b59..85eae0c7e85f1e394fe557d5edc7db684f347428 100644 (file)
@@ -15,6 +15,6 @@ if "calibre" in sys.modules and sys.version_info[0] == 2:
         sys.path.insert(0, os.path.join(config_dir, "plugins", "DeDRM.zip"))
 
 # Explicitly set the package identifier so we are allowed to import stuff ...
-#__package__ = "DeDRM_plugin"
+__package__ = "calibre_plugins.dedrm"
 
 #@@CALIBRE_COMPAT_CODE_END@@
index 4994dd004bdd30e25dd96de8beafb1173b8f368a..7dc76710a0660797c65cdc00d5559d4b1a8865d3 100644 (file)
@@ -46,8 +46,8 @@ from base64 import b64decode
 
 
 
-from utilities import SafeUnbuffered
-from argv_utils import unicode_argv
+from .utilities import SafeUnbuffered
+from .argv_utils import unicode_argv
 
 
 try:
index 82ee89f3b68db09f1ef9037a935d717bfa9bbaf1..19b40fda1bcdd8fa31c6eaa4c2a05b002c0ace1c 100755 (executable)
@@ -29,7 +29,7 @@ from calibre.constants import iswindows, isosx
 
 from __init__ import PLUGIN_NAME, PLUGIN_VERSION
 from __version import RESOURCE_NAME as help_file_name
-from utilities import uStrCmp
+from .utilities import uStrCmp
 
 import prefs
 import androidkindlekey
index 9213df8e99b3168476d2f7de3a403bc669f17089..8b7fa041faeb4232e136dba8fdf2018e18185aa3 100644 (file)
@@ -53,12 +53,12 @@ import sys, struct, os, traceback
 import zlib
 import zipfile
 import xml.etree.ElementTree as etree
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
 NSMAP = {'adept': 'http://ns.adobe.com/adept',
          'enc': 'http://www.w3.org/2001/04/xmlenc#'}
 
-from utilities import SafeUnbuffered
+from .utilities import SafeUnbuffered
 
 
 _FILENAME_LEN_OFFSET = 26
index 7d87aa759cbef87b68518e5b349c08ce6efb2583..4d957246d2e696bbf4628a85bba00b35e01cd9f4 100755 (executable)
@@ -79,11 +79,8 @@ except ImportError:
 
 #@@CALIBRE_COMPAT_CODE@@
 
-try: 
-    from utilities import SafeUnbuffered
-    from argv_utils import unicode_argv
-except: 
-    from . import utilities, argv_utils
+from .utilities import SafeUnbuffered
+from .argv_utils import unicode_argv
 
 iswindows = sys.platform.startswith('win')
 isosx = sys.platform.startswith('darwin')
index 6f09bc4ea4737523dc4295c8478944a4634477a0..65d1733075513b995d8eba93c15cbb660f376711 100644 (file)
@@ -50,9 +50,9 @@ try:
 except ImportError:
     from Crypto.Cipher import AES
 
-from utilities import SafeUnbuffered
+from .utilities import SafeUnbuffered
 
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
 class IGNOBLEError(Exception):
     pass
index 4cf524691d9b7644cfc251b44278d65d48de642b..99db9b5d4c6084c68cb40f57654c5893f14cefc2 100644 (file)
@@ -27,14 +27,14 @@ import hashlib
 import getopt
 import re
 
-from utilities import SafeUnbuffered
+from .utilities import SafeUnbuffered
 
 try:
     from calibre.constants import iswindows
 except:
     iswindows = sys.platform.startswith('win')
 
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
 class DrmException(Exception):
     pass
index f118ce691bebfb0dc6b7a3042efa3b85b7e4afe1..b655ffd8f81a2bef618963390a85052633c98f47 100644 (file)
@@ -70,9 +70,8 @@ def unpad(data, padding=16):
 
     return data[:-pad_len]
 
-from utilities import SafeUnbuffered
-
-from argv_utils import unicode_argv
+from .utilities import SafeUnbuffered
+from .argv_utils import unicode_argv
 
 
 class ADEPTError(Exception):
index 7802d87cffef2347700a3c0701e3ec2e4e709c90..69a9ca5e3e98825baacc9335a5b5390cf6f0d19c 100755 (executable)
@@ -93,12 +93,12 @@ def unpad(data, padding=16):
     return data[:-pad_len]
 
 
-from utilities import SafeUnbuffered
+from .utilities import SafeUnbuffered
 
 iswindows = sys.platform.startswith('win')
 isosx = sys.platform.startswith('darwin')
 
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
 class ADEPTError(Exception):
     pass
index c3200b6db3f0e87458a6496fd970bc9ec8fce7e7..4a22318fb2fc757d6cd292d846cb98344275dfde 100644 (file)
@@ -88,9 +88,9 @@ import kgenpids
 import androidkindlekey
 import kfxdedrm
 
-from utilities import SafeUnbuffered
+from .utilities import SafeUnbuffered
 
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
 
 # cleanup unicode filenames
index 4e128c9ab5c6f633ac50b87948233cecc5f5bc27..9206d83c30b1597de7346cf78fc43791a045b283 100644 (file)
@@ -62,11 +62,8 @@ except NameError:
 
 # Routines common to Mac and PC
 
-try: 
-    from utilities import SafeUnbuffered
-    from argv_utils import unicode_argv
-except:
-    from . import utilities, argv_utils
+from .utilities import SafeUnbuffered
+from .argv_utils import unicode_argv
     
 
 try:
index a034e409d937119823fa464ead5d09a218136c9b..2d53b9902563269cf4252b5067866c5f017e6a33 100644 (file)
 import sys
 import binascii
 
-from utilities import SafeUnbuffered
+from .utilities import SafeUnbuffered
 
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
-letters = 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'
+letters = b'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'
 
 def crc32(s):
     return (~binascii.crc32(s,-1))&0xFFFFFFFF
 
 def checksumPid(s):
-    crc = crc32(s.encode('ascii'))
+    crc = crc32(s)
     crc = crc ^ (crc >> 16)
     res = s
     l = len(letters)
index 5989e8bc5781896b8588c1d20bef03ebf6576088..864c08fcea5de1118599b686fbfed7250106eead 100755 (executable)
@@ -80,11 +80,14 @@ import sys
 import os
 import struct
 import binascii
-from alfcrypto import Pukall_Cipher
 
-from utilities import SafeUnbuffered
 
-from argv_utils import unicode_argv
+#@@CALIBRE_COMPAT_CODE@@
+
+
+from .alfcrypto import Pukall_Cipher
+from .utilities import SafeUnbuffered
+from .argv_utils import unicode_argv
 
 
 class DrmException(Exception):
@@ -103,10 +106,17 @@ def PC1(key, src, decryption=True):
     except: 
         raise
 
-# accepts unicode returns unicode
+letters = b'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'
+
+def crc32(s):
+    return (~binascii.crc32(s,-1))&0xFFFFFFFF
+
 def checksumPid(s):
-    letters = 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'
-    crc = (~binascii.crc32(s.encode('utf-8'),-1))&0xFFFFFFFF
+
+    s = s.encode()
+
+
+    crc = crc32(s)
     crc = crc ^ (crc >> 16)
     res = s
     l = len(letters)
@@ -115,7 +125,7 @@ def checksumPid(s):
         pos = (b // l) ^ (b % l)
         res += bytes(bytearray([letters[pos%l]]))
         crc >>= 8
-    return res
+    return res.decode()
 
 # expects bytearray
 def getSizeOfTrailingDataEntries(ptr, size, flags):
index 8848bd9a829b0111266fe5fac1cebe8e079ba0a0..97d75a79e6eaa671f3e773ed9ac6efa7f8547834 100644 (file)
@@ -24,10 +24,10 @@ import traceback
 from struct import pack
 from struct import unpack
 
-from alfcrypto import Topaz_Cipher
-from utilities import SafeUnbuffered
+from .alfcrypto import Topaz_Cipher
+from .utilities import SafeUnbuffered
 
-from argv_utils import unicode_argv
+from .argv_utils import unicode_argv
 
 
 #global switch