diff options
author | NoDRM <[email protected]> | 2021-12-29 11:36:59 +0100 |
---|---|---|
committer | NoDRM <[email protected]> | 2021-12-29 11:39:48 +0100 |
commit | b11aadcca6e80621c421a644ec1cd305c2b0a479 (patch) | |
tree | 3b1c0b15e9c71d52d2fc9b67d3a167c3503871e5 /make_release.py | |
parent | dbf4b5402614d2f714559f91e7b7d414efa892a5 (diff) |
Bugfixes in standalone code for Calibre < 5 / Python 2
Diffstat (limited to 'make_release.py')
-rwxr-xr-x | make_release.py | 51 |
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: |