import json, re with open('items_data.json', 'r', encoding='utf-8') as f: items_data = json.load(f) path = 'app/src/main/java/com/safebite/app/domain/engine/CatalogProvider.kt' with open(path, 'r', encoding='utf-8') as f: content = f.read() existing_names = set(re.findall(r'CatalogItem\("([^"]+)"', content)) cat_map = { 'spices': 'Condiments & Épices', 'frozen': 'Épicerie', 'pantry': 'Épicerie', 'snacks': 'Snacks & Bonbons', 'beverages': 'Boissons', 'cleaning': 'Maison', 'hygiene': 'Santé', 'pets': 'Animaux', 'garden': 'Jardin', 'misc': 'Épicerie', } emoji_map = { 'Condiments & Épices': '🧂', 'Épicerie': '🌾', 'Snacks & Bonbons': '🍿', 'Boissons': '🥤', 'Maison': '🏠', 'Santé': '💊', 'Animaux': '🐾', 'Jardin': '🌱', } additions = [] for src_cat, items in items_data.items(): target_cat = cat_map[src_cat] emoji = emoji_map[target_cat] for name in items: if name in existing_names: continue existing_names.add(name) safe_name = name.replace('"', '\\"') additions.append(f' add(CatalogItem("{safe_name}", "{target_cat}", "{emoji}"))') if additions: additions_text = '\n'.join(additions) + '\n\n' marker = ' val popularSuggestions: List = listOf(' if marker in content: content = content.replace(marker, additions_text + marker) print(f"Added {len(additions)} items to CatalogProvider.kt") else: print("Marker not found, skipping CatalogProvider.kt") else: print("No new items to add to CatalogProvider.kt") with open(path, 'w', encoding='utf-8') as f: f.write(content)