File size: 1,025 Bytes
463f868
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import json


def check_integrity():
    with open("engine/data/cards.json", "r", encoding="utf-8") as f:
        data = json.load(f)

    anomalies = []
    for card_no, card in data.items():
        ability = card.get("ability", "")
        if "\r" in ability:
            anomalies.append((card_no, "Has CR (\\r)", ability))
        if "\0" in ability:
            anomalies.append((card_no, "Has Null byte", ability))
        # Check for weird spaces or control chars
        for i, char in enumerate(ability):
            if ord(char) < 32 and char not in "\n\r\t":
                anomalies.append((card_no, f"Has Ctrl char {ord(char)} at pos {i}", ability))
                break

    print(f"Total cards: {len(data)}")
    print(f"Anomalies found: {len(anomalies)}")

    for card_no, msg, text in anomalies[:20]:
        print(f"--- {card_no} ---")
        print(f"Issue: {msg}")
        print(f"Repr: {repr(text)}")
        print()


if __name__ == "__main__":
    check_integrity()