127 lines
3.5 KiB
Python
127 lines
3.5 KiB
Python
# -*- 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,
|
|
)
|