File size: 1,954 Bytes
669c41a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aaf3876
669c41a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import os
import gradio as gr
from huggingface_hub import hf_hub_download
import shutil
import sys
import importlib.util

# ==========================================
# APP LAUNCHER - UGC AUTO GENERATOR V2
# ==========================================

print(">>> [INIT] Memulai Aplikasi UGC Auto Generator V2...")

try:
    # Ambil token dari environment secret
    token_gudang = os.environ.get("KUNCI_GUDANG")
    if not token_gudang:
        raise ValueError("Secret 'KUNCI_GUDANG' belum diset di Settings Space!")

    # KONFIGURASI REPO
    MY_REPO_ID = "malikrf22/abcx"
    CORE_FILENAME = "ugc_auto.py"
    USERS_FILENAME = "datalogin.json"
    
    # ========== DOWNLOAD CORE SYSTEM ==========
    print(f">>> [DOWNLOAD] Mengunduh core system dari {MY_REPO_ID}...")
    
    path_core = hf_hub_download(
        repo_id=MY_REPO_ID,
        filename=CORE_FILENAME,
        repo_type="dataset",
        token=token_gudang,
        force_download=True
    )
    
    # ========== IMPORT CORE MODULE ==========
    destination = "ugc_secret.py"
    shutil.copy(path_core, destination)
    
    spec = importlib.util.spec_from_file_location("ugc_secret", destination)
    module = importlib.util.module_from_spec(spec)
    sys.modules["ugc_secret"] = module
    spec.loader.exec_module(module)
    
    # ========== CREATE APP DENGAN CONFIG ==========
    demo_app = module.create_app(
        repo_id=MY_REPO_ID,
        users_filename=USERS_FILENAME,
        token=token_gudang
    )
    print(">>> [SUCCESS] Aplikasi siap dijalankan!")

except Exception as e:
    import traceback
    error_detail = traceback.format_exc()
    print(f">>> [ERROR] {str(e)}")
    print(error_detail)
    
    with gr.Blocks() as demo_app:
        gr.Markdown(f"# ⛔ System Error\n\n```\n{str(e)}\n```")
        gr.Markdown(f"### Detail:\n```\n{error_detail}\n```")

if __name__ == "__main__":
    demo_app.queue(max_size=500, default_concurrency_limit=100).launch()