# -*- mode: python ; coding: utf-8 -*- import os import sys from pathlib import Path # Get the base directory (current working directory) base_dir = Path.cwd() # Collect Django apps data datas = [] # Add templates directory templates_dir = base_dir / 'templates' if templates_dir.exists(): for root, dirs, files in os.walk(templates_dir): for file in files: file_path = Path(root) / file relative_path = file_path.relative_to(base_dir) datas.append((str(file_path), str(relative_path.parent))) # Add static files directory static_dir = base_dir / 'static' if static_dir.exists(): for root, dirs, files in os.walk(static_dir): for file in files: file_path = Path(root) / file relative_path = file_path.relative_to(base_dir) datas.append((str(file_path), str(relative_path.parent))) # Add media files directory media_dir = base_dir / 'media' if media_dir.exists(): for root, dirs, files in os.walk(media_dir): for file in files: file_path = Path(root) / file relative_path = file_path.relative_to(base_dir) datas.append((str(file_path), str(relative_path.parent))) # Add all Django apps with their migrations django_apps = ['core', 'users', 'inventory', 'purchase', 'manufacture', 'sales'] for app in django_apps: app_dir = base_dir / app if app_dir.exists(): # Add the app directory for root, dirs, files in os.walk(app_dir): for file in files: file_path = Path(root) / file relative_path = file_path.relative_to(base_dir) datas.append((str(file_path), str(relative_path.parent))) # Add templates for this app if they exist app_templates_dir = base_dir / 'templates' / app if app_templates_dir.exists(): for root, dirs, files in os.walk(app_templates_dir): for file in files: file_path = Path(root) / file relative_path = file_path.relative_to(base_dir) datas.append((str(file_path), str(relative_path.parent))) # Add the database db_file = base_dir / 'db.sqlite3' if db_file.exists(): datas.append((str(db_file), '.')) # Hidden imports for Django hiddenimports = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', 'crispy_forms', 'crispy_bootstrap5', 'core', 'users', 'inventory', 'purchase', 'manufacture', 'sales', 'manufacture_app', 'django.contrib.admin.apps', 'django.contrib.auth.apps', 'django.contrib.contenttypes.apps', 'django.contrib.sessions.apps', 'django.contrib.messages.apps', 'django.contrib.staticfiles.apps', ] a = Analysis( ['start_server.py'], pathex=[], binaries=[], datas=datas, hiddenimports=hiddenimports, hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, a.binaries, a.datas, [], name='start_server', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, )