From 564886bf90f5db3174bfb47d5f0acb2e4fb30671 Mon Sep 17 00:00:00 2001 From: najeeb Date: Sat, 9 May 2026 02:12:04 +0500 Subject: [PATCH] build: Add PyInstaller standalone build scripts and app icon --- .gitignore | 6 ++++++ app.ico | Bin 0 -> 57353 bytes build.py | 23 +++++++++++++++++++++++ create_icon.py | 19 +++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 app.ico create mode 100644 build.py create mode 100644 create_icon.py diff --git a/.gitignore b/.gitignore index f00c7b4..667e5e0 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,9 @@ desktop.ini # Logs *.log + +# App Config +config.json + +# PyInstaller +*.spec diff --git a/app.ico b/app.ico new file mode 100644 index 0000000000000000000000000000000000000000..47f41334009b51ffad7027f4eb9277f0be465af9 GIT binary patch literal 57353 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

L?BbnHWOG0uHq}5){6f=!VR7$Yy!q(*{ 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

or(lvpBT_))qWvL2^cIR87QO%9biiG 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 T>F;Xs00000NkvXXu0mjf_!&-f literal 0 HcmV?d00001 diff --git a/build.py b/build.py new file mode 100644 index 0000000..29865c9 --- /dev/null +++ b/build.py @@ -0,0 +1,23 @@ +import PyInstaller.__main__ +import tkinterdnd2 +import os +import shutil + +def build(): + tkdnd_path = os.path.join(os.path.dirname(tkinterdnd2.__file__), 'tkdnd') + + # Ensure dist and build dirs are clean + if os.path.exists('dist'): shutil.rmtree('dist') + if os.path.exists('build'): shutil.rmtree('build') + + PyInstaller.__main__.run([ + 'kobackupdec_gui.py', + '--name=KoBackupDecryptor', + '--onefile', + '--windowed', + '--icon=app.ico', + f'--add-data={tkdnd_path};tkinterdnd2/tkdnd' + ]) + +if __name__ == '__main__': + build() diff --git a/create_icon.py b/create_icon.py new file mode 100644 index 0000000..42d387f --- /dev/null +++ b/create_icon.py @@ -0,0 +1,19 @@ +import sys +from PIL import Image + +def create_ico(input_path, output_path): + img = Image.open(input_path) + # Crop to square if necessary + width, height = img.size + if width != height: + min_dim = min(width, height) + left = (width - min_dim) / 2 + top = (height - min_dim) / 2 + right = (width + min_dim) / 2 + bottom = (height + min_dim) / 2 + img = img.crop((left, top, right, bottom)) + + img.save(output_path, format="ICO", sizes=[(256, 256), (128, 128), (64, 64), (32, 32), (16, 16)]) + +if __name__ == "__main__": + create_ico(sys.argv[1], sys.argv[2])