init: начало работы над приложением с использованием wxPython

This commit is contained in:
2026-08-05 02:25:56 +03:00
commit 58aaf93392
12 changed files with 495 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
import argparse
import os
import shutil
import subprocess
import sys
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
ENTRY_POINT = os.path.join(PROJECT_ROOT, "src", "mind_reader", "app.py")
def build():
cmd = [
sys.executable,
"-m",
"PyInstaller",
"--noconfirm",
"--clean",
"--onedir",
"--windowed",
"--name",
"MindReader",
"--paths",
os.path.join(PROJECT_ROOT, "src"),
ENTRY_POINT,
]
result = subprocess.run(cmd, cwd=PROJECT_ROOT)
if result.returncode == 0:
dist_path = os.path.join(PROJECT_ROOT, "dist", "MindReader")
print("\nBuild completed!")
print(f"{dist_path}")
else:
print("\nError!")
def clean():
print("Cleaning...")
dirs_to_remove = [
os.path.join(PROJECT_ROOT, "build"),
os.path.join(PROJECT_ROOT, "dist"),
]
for d in dirs_to_remove:
if os.path.exists(d):
shutil.rmtree(d)
print(f"{d} - deleted")
for item in os.listdir(PROJECT_ROOT):
if item.endswith(".spec"):
spec_path = os.path.join(PROJECT_ROOT, item)
os.remove(spec_path)
print(f"{spec_path} - deleted")
print("Cleaning completed!")
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--clean-only", action="store_true")
args = parser.parse_args()
if args.clean_only:
clean()
else:
build()