Inital Commit
This commit is contained in:
46
modules/startup.py
Normal file
46
modules/startup.py
Normal file
@ -0,0 +1,46 @@
|
||||
# startup.py
|
||||
#
|
||||
# Description:
|
||||
# This module verifies the presence and accessibility of all critical assets needed for the video processing pipeline.
|
||||
# If any required file is missing or unreadable, the script exits with an error message.
|
||||
#
|
||||
# Usage:
|
||||
# Called at the beginning of main.py to ensure a clean, verified startup state.
|
||||
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
# These are expected to be already set correctly in config.py
|
||||
from config import (
|
||||
INTRO_WIDE_PATH,
|
||||
INTRO_VERTICAL_PATH,
|
||||
OUTRO_WIDE_PATH,
|
||||
OUTRO_VERTICAL_PATH,
|
||||
FONT_PATH,
|
||||
THEME_MUSIC_PATH
|
||||
)
|
||||
|
||||
REQUIRED_PATHS = [
|
||||
("INTRO_WIDE_PATH", INTRO_WIDE_PATH),
|
||||
("INTRO_VERTICAL_PATH", INTRO_VERTICAL_PATH),
|
||||
("OUTRO_WIDE_PATH", OUTRO_WIDE_PATH),
|
||||
("OUTRO_VERTICAL_PATH", OUTRO_VERTICAL_PATH),
|
||||
("FONT_PATH", FONT_PATH),
|
||||
("THEME_MUSIC_PATH", THEME_MUSIC_PATH),
|
||||
]
|
||||
|
||||
def resolve_path(label: str, path_str: str):
|
||||
try:
|
||||
path = Path(path_str)
|
||||
if not path.is_file():
|
||||
raise FileNotFoundError(f"{label} not found at {path}")
|
||||
return path
|
||||
except Exception as e:
|
||||
print(f"❌ {label} → {e}")
|
||||
sys.exit(1)
|
||||
|
||||
def verify_assets():
|
||||
print("🔍 Verifying external file dependencies...")
|
||||
for label, path_str in REQUIRED_PATHS:
|
||||
resolved = resolve_path(label, path_str)
|
||||
print(f"✅ {label} → {resolved}")
|
||||
Reference in New Issue
Block a user