summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoDRM <[email protected]>2023-08-03 20:45:06 +0200
committerNoDRM <[email protected]>2023-08-03 20:45:06 +0200
commit53996cf49c504264a3632576f15fc492dd371860 (patch)
tree53966c3e27b9f8c55be89e7920b2cca77fdce991
parentd388ae72fd797efcef3da2b4ff8694cfaa4431cb (diff)
More Python2 fixes
-rw-r--r--DeDRM_plugin/__calibre_compat_code.py2
-rw-r--r--DeDRM_plugin/adobekey.py4
-rwxr-xr-xDeDRM_plugin/config.py2
-rw-r--r--DeDRM_plugin/epubtest.py4
-rwxr-xr-xDeDRM_plugin/erdr2pml.py7
-rw-r--r--DeDRM_plugin/ignoblekeyGenPassHash.py4
-rw-r--r--DeDRM_plugin/ignoblekeyNookStudy.py4
-rw-r--r--DeDRM_plugin/ineptepub.py5
-rwxr-xr-xDeDRM_plugin/ineptpdf.py4
-rw-r--r--DeDRM_plugin/k4mobidedrm.py4
-rw-r--r--DeDRM_plugin/kindlekey.py7
-rw-r--r--DeDRM_plugin/kindlepid.py8
-rwxr-xr-xDeDRM_plugin/mobidedrm.py24
-rw-r--r--DeDRM_plugin/topazextract.py6
14 files changed, 44 insertions, 41 deletions
diff --git a/DeDRM_plugin/__calibre_compat_code.py b/DeDRM_plugin/__calibre_compat_code.py
index a535a42..85eae0c 100644
--- a/DeDRM_plugin/__calibre_compat_code.py
+++ b/DeDRM_plugin/__calibre_compat_code.py
@@ -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@@
diff --git a/DeDRM_plugin/adobekey.py b/DeDRM_plugin/adobekey.py
index 4994dd0..7dc7671 100644
--- a/DeDRM_plugin/adobekey.py
+++ b/DeDRM_plugin/adobekey.py
@@ -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:
diff --git a/DeDRM_plugin/config.py b/DeDRM_plugin/config.py
index 82ee89f..19b40fd 100755
--- a/DeDRM_plugin/config.py
+++ b/DeDRM_plugin/config.py
@@ -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
diff --git a/DeDRM_plugin/epubtest.py b/DeDRM_plugin/epubtest.py
index 9213df8..8b7fa04 100644
--- a/DeDRM_plugin/epubtest.py
+++ b/DeDRM_plugin/epubtest.py
@@ -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
diff --git a/DeDRM_plugin/erdr2pml.py b/DeDRM_plugin/erdr2pml.py
index 7d87aa7..4d95724 100755
--- a/DeDRM_plugin/erdr2pml.py
+++ b/DeDRM_plugin/erdr2pml.py
@@ -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')
diff --git a/DeDRM_plugin/ignoblekeyGenPassHash.py b/DeDRM_plugin/ignoblekeyGenPassHash.py
index 6f09bc4..65d1733 100644
--- a/DeDRM_plugin/ignoblekeyGenPassHash.py
+++ b/DeDRM_plugin/ignoblekeyGenPassHash.py
@@ -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
diff --git a/DeDRM_plugin/ignoblekeyNookStudy.py b/DeDRM_plugin/ignoblekeyNookStudy.py
index 4cf5246..99db9b5 100644
--- a/DeDRM_plugin/ignoblekeyNookStudy.py
+++ b/DeDRM_plugin/ignoblekeyNookStudy.py
@@ -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
diff --git a/DeDRM_plugin/ineptepub.py b/DeDRM_plugin/ineptepub.py
index f118ce6..b655ffd 100644
--- a/DeDRM_plugin/ineptepub.py
+++ b/DeDRM_plugin/ineptepub.py
@@ -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):
diff --git a/DeDRM_plugin/ineptpdf.py b/DeDRM_plugin/ineptpdf.py
index 7802d87..69a9ca5 100755
--- a/DeDRM_plugin/ineptpdf.py
+++ b/DeDRM_plugin/ineptpdf.py
@@ -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
diff --git a/DeDRM_plugin/k4mobidedrm.py b/DeDRM_plugin/k4mobidedrm.py
index c3200b6..4a22318 100644
--- a/DeDRM_plugin/k4mobidedrm.py
+++ b/DeDRM_plugin/k4mobidedrm.py
@@ -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
diff --git a/DeDRM_plugin/kindlekey.py b/DeDRM_plugin/kindlekey.py
index 4e128c9..9206d83 100644
--- a/DeDRM_plugin/kindlekey.py
+++ b/DeDRM_plugin/kindlekey.py
@@ -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:
diff --git a/DeDRM_plugin/kindlepid.py b/DeDRM_plugin/kindlepid.py
index a034e40..2d53b99 100644
--- a/DeDRM_plugin/kindlepid.py
+++ b/DeDRM_plugin/kindlepid.py
@@ -16,17 +16,17 @@
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)
diff --git a/DeDRM_plugin/mobidedrm.py b/DeDRM_plugin/mobidedrm.py
index 5989e8b..864c08f 100755
--- a/DeDRM_plugin/mobidedrm.py
+++ b/DeDRM_plugin/mobidedrm.py
@@ -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):
diff --git a/DeDRM_plugin/topazextract.py b/DeDRM_plugin/topazextract.py
index 8848bd9..97d75a7 100644
--- a/DeDRM_plugin/topazextract.py
+++ b/DeDRM_plugin/topazextract.py
@@ -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