Fix more Py2/Py3 stuff

This commit is contained in:
NoDRM 2023-08-06 15:49:52 +02:00
parent 10b6caf9f5
commit ef67dbd204
12 changed files with 40 additions and 8 deletions

View File

@ -14,6 +14,7 @@ if "calibre" in sys.modules and sys.version_info[0] == 2:
if os.path.join(config_dir, "plugins", "DeDRM.zip") not in sys.path:
sys.path.insert(0, os.path.join(config_dir, "plugins", "DeDRM.zip"))
if "calibre" in sys.modules:
# Explicitly set the package identifier so we are allowed to import stuff ...
__package__ = "calibre_plugins.dedrm"

View File

@ -5,10 +5,21 @@
# (CLI interface without Calibre)
# Copyright © 2021 NoDRM
"""
NOTE: This code is not functional (yet). I started working on it a while ago
to make a standalone version of the plugins that could work without Calibre,
too, but for now there's only a rough code structure and no working code yet.
Currently, to use these plugins, you will need to use Calibre. Hopwfully that'll
change in the future.
"""
__license__ = 'GPL v3'
__docformat__ = 'restructuredtext en'
# For revision history see __init__.py
# For revision history see CHANGELOG.md
"""
Run DeDRM plugin without Calibre.

View File

@ -5,7 +5,10 @@
# For use with Topaz Scripts Version 2.6
# Python 3, September 2020
from utilities import SafeUnbuffered
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
import sys
import csv

View File

@ -49,6 +49,8 @@
__version__ = '2.0'
#@@CALIBRE_COMPAT_CODE@@
import sys, struct, os, traceback
import zlib
import zipfile

View File

@ -4,7 +4,9 @@
# Python 3 for calibre 5.0
from __future__ import print_function
from utilities import SafeUnbuffered
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
import sys
import csv

View File

@ -45,6 +45,8 @@ import os
import hashlib
import base64
#@@CALIBRE_COMPAT_CODE@@
try:
from Cryptodome.Cipher import AES
except ImportError:

View File

@ -27,6 +27,8 @@ import hashlib
import getopt
import re
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
try:

View File

@ -70,6 +70,8 @@ def unpad(data, padding=16):
return data[:-pad_len]
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
from .argv_utils import unicode_argv

View File

@ -92,13 +92,14 @@ def unpad(data, padding=16):
return data[:-pad_len]
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
from .argv_utils import unicode_argv
iswindows = sys.platform.startswith('win')
isosx = sys.platform.startswith('darwin')
from .argv_utils import unicode_argv
class ADEPTError(Exception):
pass

View File

@ -30,6 +30,9 @@ import struct
from io import BytesIO
#@@CALIBRE_COMPAT_CODE@@
try:
from Cryptodome.Cipher import AES
from Cryptodome.Util.py3compat import bchr
@ -57,7 +60,7 @@ except ImportError:
# Windows-friendly choice: pylzma wheels
import pylzma as lzma
from kfxtables import *
from .kfxtables import *
TID_NULL = 0
TID_BOOLEAN = 1

View File

@ -62,6 +62,8 @@ except NameError:
# Routines common to Mac and PC
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
from .argv_utils import unicode_argv

View File

@ -16,8 +16,9 @@
import sys
import binascii
from .utilities import SafeUnbuffered
#@@CALIBRE_COMPAT_CODE@@
from .utilities import SafeUnbuffered
from .argv_utils import unicode_argv
letters = b'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'