from itertools import product

# colors = ("red", "blue", "green")
# clothes = ("shirt", "pants")
# typ = ("analog", "digital")

# print (len(list(product(colors, clothes, typ))))


import sys
from random import shuffle, randint, seed
import json

seed("house of ada, seeded 5 april 2023")

actors = ['silly', 'serious', 'naïve', 'smart', 'focused', 'dreamy','hungry','sad', 'embarassed', 'fantastic', 'stressed', 'caring','moody', 'angry', 'frustrated','big'];
action = ['pruning', 'swatching', 'grafting', 'composting', 'gleaning','fermenting','tilling','fertilizing','crop rotating','fallowing', 'weeding','companion planting','broadcasting' ];
objects = ['booklets', 'index cards', 'etherpads','books','e-books', 'html scripts', 'texts', 'python scripts', 'poems', 'stories', 'pdfs', 'carrier bag libraries', 'bootleg libraries', 'hero libraries'];
material = ['chocolate', 'marzipan', 'peanut butter', 'mozzarella', 'jam', 'butter', 'gingerbread','tomato sauce', 'candy', 'custard', 'cookie dough', 'honey', 'parmesan cheese','camambert', 'sour grapes', 'maple syrup'];

count = 100
all_possibilities = list(product(actors, action, objects, material))
print (f"wow there are {len(all_possibilities)} possible combinations, outputting a random set of {count}", file=sys.stderr)
shuffle(all_possibilities)
items = []
for combo in all_possibilities[:count]:
    items.append({'words': combo, 'hue': randint(0, 255)})
print (json.dumps({'items': items}, indent=2))
