ZHIWEI666 commited on
Commit
378f066
·
verified ·
1 Parent(s): 088dffd

Upload 数据库连接.py

Browse files
Files changed (1) hide show
  1. 数据库连接.py +14 -5
数据库连接.py CHANGED
@@ -6,12 +6,21 @@ from huggingface_hub import HfApi, hf_hub_download
6
  HF_TOKEN = os.environ.get("HF_TOKEN")
7
  # 已经替换为你真实的 Dataset 仓库
8
  DATASET_REPO_ID = "ZHIWEI666/ComfyUI-Ranking"
9
- # HF Spaces 的 Docker 环境只有 /tmp 目录允许自由读写
10
- LOCAL_DB_DIR = "/tmp/local_db_data"
 
 
 
 
 
 
 
 
 
11
 
12
  api = HfApi() if HF_TOKEN else None
13
 
14
- # 确保本地测试目录存在
15
  if not os.path.exists(LOCAL_DB_DIR):
16
  os.makedirs(LOCAL_DB_DIR)
17
 
@@ -38,7 +47,7 @@ def save_data(file_name: str, data):
38
  """保存数据:写入本地并同步到 HF Dataset"""
39
  local_path = os.path.join(LOCAL_DB_DIR, file_name)
40
 
41
- # 1. 始终先写入本地临时目录
42
  with open(local_path, "w", encoding="utf-8") as f:
43
  json.dump(data, f, ensure_ascii=False, indent=2)
44
 
@@ -56,7 +65,7 @@ def save_data(file_name: str, data):
56
  except Exception as e:
57
  print(f"同步到 HF Dataset 失败: {e}")
58
 
59
- # --- 【新增】:保存真实的二进制文件 ---
60
  def save_file(file_path_in_repo: str, content: bytes):
61
  local_full_path = os.path.join(LOCAL_DB_DIR, file_path_in_repo)
62
 
 
6
  HF_TOKEN = os.environ.get("HF_TOKEN")
7
  # 已经替换为你真实的 Dataset 仓库
8
  DATASET_REPO_ID = "ZHIWEI666/ComfyUI-Ranking"
9
+
10
+ # ==========================================
11
+ # 【核心修改】:智能判断运行环境
12
+ # ==========================================
13
+ if os.environ.get("SPACE_ID"):
14
+ # 如果检测到在 Hugging Face Spaces 环境运行,则使用 /tmp 目录(绕过容器只读限制)
15
+ LOCAL_DB_DIR = "/tmp/local_db_data"
16
+ else:
17
+ # 本地运行时,自动在当前 Python 文件同级目录下创建一个 "cache" 文件夹
18
+ BASE_DIR = os.path.dirname(os.path.abspath(__file__))
19
+ LOCAL_DB_DIR = os.path.join(BASE_DIR, "cache")
20
 
21
  api = HfApi() if HF_TOKEN else None
22
 
23
+ # 确保本地缓存目录存在
24
  if not os.path.exists(LOCAL_DB_DIR):
25
  os.makedirs(LOCAL_DB_DIR)
26
 
 
47
  """保存数据:写入本地并同步到 HF Dataset"""
48
  local_path = os.path.join(LOCAL_DB_DIR, file_name)
49
 
50
+ # 1. 始终先写入本地缓存目录
51
  with open(local_path, "w", encoding="utf-8") as f:
52
  json.dump(data, f, ensure_ascii=False, indent=2)
53
 
 
65
  except Exception as e:
66
  print(f"同步到 HF Dataset 失败: {e}")
67
 
68
+ # --- 保存真实的二进制文件 ---
69
  def save_file(file_path_in_repo: str, content: bytes):
70
  local_full_path = os.path.join(LOCAL_DB_DIR, file_path_in_repo)
71