Denny1911 commited on
Commit
5282ab0
·
verified ·
1 Parent(s): 96385e2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -0
app.py CHANGED
@@ -4,6 +4,38 @@ import re
4
  import gradio as gr
5
  from google import genai
6
  from google.genai import types
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  TAGS_FILE = "tags.json"
9
 
 
4
  import gradio as gr
5
  from google import genai
6
  from google.genai import types
7
+ from huggingface_hub import hf_hub_download, HfApi
8
+
9
+ REPO_ID = "Denny1911/Keywords" # 例如 "tw_developer/my-song-tags"
10
+ FILENAME = "tags.json"
11
+ HF_TOKEN = os.environ.get("HF_TOKEN") # 在 Space 的 Settings 裡設定你的 HF Token
12
+
13
+ def load_tags_from_cloud():
14
+ """從雲端 Dataset 下載最新 JSON"""
15
+ try:
16
+ filepath = hf_hub_download(repo_id=REPO_ID, filename=FILENAME, repo_type="dataset", token=HF_TOKEN)
17
+ with open(filepath, "r", encoding="utf-8") as f:
18
+ return json.load(f)
19
+ except Exception:
20
+ # 萬一雲端還沒檔案,給予預設種子
21
+ return {"情緒基調": ["溫柔療癒"], "視覺畫面": ["璀璨星空"], "適用場景": ["深夜沉思"], "風格曲風": ["華語流行"]}
22
+
23
+ def save_tags_to_cloud(tags_data):
24
+ """將更新後的 JSON 直接推回雲端 Dataset 儲存"""
25
+ # 先在本地暫存寫入
26
+ with open(FILENAME, "w", encoding="utf-8") as f:
27
+ json.dump(tags_data, f, ensure_ascii=False, indent=2)
28
+
29
+ # 利用 API 把檔案推上雲端 Dataset,這樣不論重啟幾次都不會掉資料!
30
+ api = HfApi()
31
+ api.upload_file(
32
+ path_or_fileobj=FILENAME,
33
+ path_in_repo=FILENAME,
34
+ repo_id=REPO_ID,
35
+ repo_type="dataset",
36
+ token=HF_TOKEN
37
+ )
38
+
39
 
40
  TAGS_FILE = "tags.json"
41