summaryrefslogtreecommitdiffstats
path: root/make_release.py
diff options
context:
space:
mode:
authorNoDRM <[email protected]>2021-12-29 11:36:59 +0100
committerNoDRM <[email protected]>2021-12-29 11:39:48 +0100
commitb11aadcca6e80621c421a644ec1cd305c2b0a479 (patch)
tree3b1c0b15e9c71d52d2fc9b67d3a167c3503871e5 /make_release.py
parentdbf4b5402614d2f714559f91e7b7d414efa892a5 (diff)
Bugfixes in standalone code for Calibre < 5 / Python 2
Diffstat (limited to 'make_release.py')
-rwxr-xr-xmake_release.py51
1 files changed, 50 insertions, 1 deletions
diff --git a/make_release.py b/make_release.py
index e600af8..95bebf6 100755
--- a/make_release.py
+++ b/make_release.py
@@ -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: