seed2.ogg / app.py
Gildore's picture
Upload 3 files
6cad93f verified
# ==============================================================================
# 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()