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")