Bugfixes in standalone code for Calibre < 5 / Python 2

This commit is contained in:
NoDRM
2021-12-29 11:36:59 +01:00
parent dbf4b54026
commit b11aadcca6
17 changed files with 100 additions and 43 deletions

View File

@@ -14,19 +14,65 @@ import shutil
DEDRM_SRC_DIR = 'DeDRM_plugin'
DEDRM_SRC_TMP_DIR = 'DeDRM_plugin_temp'
DEDRM_README= 'DeDRM_plugin_ReadMe.txt'
OBOK_SRC_DIR = 'Obok_plugin'
OBOK_README = 'obok_plugin_ReadMe.txt'
RELEASE_DIR = 'release'
def patch_file(filepath):
f = open(filepath, "rb")
fn = open(filepath + ".tmp", "wb")
patch = open(os.path.join(DEDRM_SRC_DIR, "__calibre_compat_code.py"), "rb")
patchdata = patch.read()
patch.close()
while True:
line = f.readline()
if len(line) == 0:
break
if line.strip().startswith(b"#@@CALIBRE_COMPAT_CODE@@"):
fn.write(patchdata)
else:
fn.write(line)
f.close()
fn.close()
shutil.move(filepath + ".tmp", filepath)
def make_release(version):
try:
shutil.rmtree(RELEASE_DIR)
except:
pass
try:
shutil.rmtree(DEDRM_SRC_TMP_DIR)
except:
pass
os.mkdir(RELEASE_DIR)
shutil.make_archive(DEDRM_SRC_DIR, 'zip', DEDRM_SRC_DIR)
# Copy folder
shutil.copytree(DEDRM_SRC_DIR, DEDRM_SRC_TMP_DIR)
# Modify folder
try:
shutil.rmtree(os.path.join(os.path.abspath(DEDRM_SRC_TMP_DIR), "__pycache__"))
except:
pass
# Patch file to add compat code.
for root, dirs, files in os.walk(DEDRM_SRC_TMP_DIR):
for name in files:
if name.endswith(".py"):
patch_file(os.path.join(root, name))
# Package
shutil.make_archive(DEDRM_SRC_DIR, 'zip', DEDRM_SRC_TMP_DIR)
shutil.make_archive(OBOK_SRC_DIR, 'zip', OBOK_SRC_DIR)
shutil.move(DEDRM_SRC_DIR+'.zip', RELEASE_DIR)
shutil.move(OBOK_SRC_DIR+'.zip', RELEASE_DIR)
@@ -34,6 +80,9 @@ def make_release(version):
shutil.copy(OBOK_README, RELEASE_DIR)
shutil.copy("ReadMe_Overview.txt", RELEASE_DIR)
# Remove temp folder:
shutil.rmtree(DEDRM_SRC_TMP_DIR)
if version is not None:
release_name = 'DeDRM_tools_{}'.format(version)
else: