51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
import json
|
|
import os
|
|
|
|
characters_dir = 'nodes/character_reader/characters'
|
|
|
|
print(f"Looking for characters in: {os.path.abspath(characters_dir)}")
|
|
|
|
if not os.path.exists(characters_dir):
|
|
print(f"ERROR: Directory {characters_dir} does not exist.")
|
|
exit(1)
|
|
|
|
files = [f for f in os.listdir(characters_dir) if f.endswith('.json')]
|
|
print(f"Found {len(files)} JSON files.")
|
|
|
|
for filename in files:
|
|
filepath = os.path.join(characters_dir, filename)
|
|
print(f"Processing {filename}...")
|
|
|
|
try:
|
|
with open(filepath, 'r') as f:
|
|
data = json.load(f)
|
|
except Exception as e:
|
|
print(f" Error reading {filename}: {e}")
|
|
continue
|
|
|
|
primary_color = data.get('styles', {}).get('primary_color')
|
|
|
|
if primary_color:
|
|
if 'identity' not in data:
|
|
data['identity'] = {}
|
|
|
|
hands = data['identity'].get('hands', '')
|
|
nail_string = f"{primary_color} nails"
|
|
|
|
# Check if nails are already mentioned
|
|
if "nails" not in hands and "polish" not in hands:
|
|
if hands and hands.strip():
|
|
new_hands = f"{hands}, {nail_string}"
|
|
else:
|
|
new_hands = nail_string
|
|
|
|
data['identity']['hands'] = new_hands
|
|
print(f" UPDATING: '{hands}' -> '{new_hands}'")
|
|
|
|
with open(filepath, 'w') as f:
|
|
json.dump(data, f, indent=2)
|
|
else:
|
|
print(f" Skipping: Nails already present ('{hands}')")
|
|
else:
|
|
print(f" Skipping: No primary color found.")
|