# ============================================================================== # SEEDANCE 2.0 - LOADER # File: app.py # For: HuggingFace Spaces # Purpose: Load main app dari Dataset dan jalankan # ============================================================================== import os import sys # ========================================== # ⚠️ KONFIGURASI - WAJIB DIUBAH! # ========================================== # Ganti dengan username pemilik dataset (Akun A) DATASET_OWNER = "malikrf22" DATASET_NAME = "seedance-core" MAIN_FILE = "main_app.py" # Full repo ID DATASET_REPO = f"{DATASET_OWNER}/{DATASET_NAME}" # ========================================== # LOADER # ========================================== def load_and_run(): """Download main_app.py dari Dataset dan jalankan""" print("=" * 60) print("🚀 SEEDANCE 2.0 - LOADER") print("=" * 60) print(f"📦 Dataset: {DATASET_REPO}") print(f"📄 File: {MAIN_FILE}") print("=" * 60) try: from huggingface_hub import hf_hub_download import importlib.util # Download file dari dataset print("📥 Downloading main app...") # Token untuk dataset private (opsional) # Jika dataset PUBLIC, tidak perlu token hf_token = os.environ.get("HF_TOKEN", None) file_path = hf_hub_download( repo_id=DATASET_REPO, filename=MAIN_FILE, repo_type="dataset", token=hf_token ) print(f"✅ Downloaded: {file_path}") # Load sebagai Python module print("🔧 Loading module...") spec = importlib.util.spec_from_file_location("main_app", file_path) main_app = importlib.util.module_from_spec(spec) sys.modules["main_app"] = main_app spec.loader.exec_module(main_app) print("✅ Module loaded successfully!") print("=" * 60) # Buat dan jalankan aplikasi demo = main_app.create_app() demo.launch() except Exception as e: print(f"❌ Error: {e}") import traceback traceback.print_exc() # Fallback: tampilkan error di Gradio import gradio as gr with gr.Blocks() as error_demo: gr.Markdown(f""" # ❌ Error Loading Application **Error:** {str(e)} **Kemungkinan penyebab:** 1. Dataset `{DATASET_REPO}` tidak ditemukan 2. File `{MAIN_FILE}` tidak ada di dataset 3. Dataset bersifat private dan HF_TOKEN tidak diset **Solusi:** 1. Pastikan dataset sudah dibuat dan berisi `{MAIN_FILE}` 2. Jika dataset private, tambahkan Secret `HF_TOKEN` di Space settings 3. Periksa nama dataset di konfigurasi app.py """) error_demo.launch() # ========================================== # MAIN # ========================================== if __name__ == "__main__": load_and_run()