File size: 954 Bytes
0f84a70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
from huggingface_hub import HfApi
from tempfile import TemporaryDirectory
import importlib.util
import sys


# プライベートリポジトリからコードを取得
def load_private_code():
    api = HfApi(token=os.environ["HF_TOKEN"])

    with TemporaryDirectory() as tmp_dir:
        api.snapshot_download(
            repo_id=os.environ["PRIVATE_REPOSITORY_NAME"],
            repo_type="space",
            local_dir=tmp_dir
        )

        spec = importlib.util.spec_from_file_location(
            "private_app",
            os.path.join(tmp_dir, "app.py")
        )
        private_module = importlib.util.module_from_spec(spec)
        sys.modules["private_app"] = private_module
        spec.loader.exec_module(private_module)

        return private_module


# プライベートコードを読み込んでGradioアプリを取得
private_app = load_private_code()
app = private_app.app  # Gradioアプリのインスタンス