Spaces:
Running
Running
File size: 1,088 Bytes
b36ed02 96b111a dbf7380 96b111a b36ed02 96b111a dbf7380 96b111a b36ed02 96b111a |
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 |
# data/__init__.py
# 將 JSON 讀取封裝成函式,供 app.py 呼叫
import os
import json
from typing import Any, List, Dict
DATA_DIR = os.path.dirname(__file__)
def _load_json(filename: str) -> Any:
"""從 data 資料夾讀取 JSON,並在錯誤時回傳空結構避免整個 App 掛掉。"""
path = os.path.join(DATA_DIR, filename)
try:
with open(path, "r", encoding="utf-8") as f:
return json.load(f)
except FileNotFoundError:
# 檔案不存在
print(f"[data] File not found: {path}")
return []
except json.JSONDecodeError as e:
# JSON 格式錯誤
print(f"[data] JSON decode error in {path}: {e}")
return []
def load_tarot_data_full() -> List[Dict]:
"""
讀取 tarot_data_full.json
回傳:List[Dict],每張牌一個 dict
"""
return _load_json("tarot_data_full.json")
def numerology_data_full() -> List[Dict]:
"""
讀取 numerology_data_full.json
回傳:List[Dict],每個數字一個 dict
"""
return _load_json("numerology_data_full.json")
|