39 lines
991 B
Python
39 lines
991 B
Python
|
|
#!/usr/bin/env python3
|
||
|
|
"""
|
||
|
|
Generate a series of state files with progressively more items.
|
||
|
|
|
||
|
|
Usage: ./generate_state_files.py <count> <output_dir>
|
||
|
|
|
||
|
|
Creates: output_dir/state_1.json, state_2.json, ..., state_N.json
|
||
|
|
"""
|
||
|
|
|
||
|
|
import json
|
||
|
|
import os
|
||
|
|
import sys
|
||
|
|
|
||
|
|
def generate_state(n):
|
||
|
|
return {
|
||
|
|
"colors": [f"color_{i}" for i in range(1, n + 1)],
|
||
|
|
"numbers": [f"number_{i}" for i in range(1, n + 1)],
|
||
|
|
"animals": [f"animal_{i}" for i in range(1, n + 1)],
|
||
|
|
}
|
||
|
|
|
||
|
|
def main():
|
||
|
|
if len(sys.argv) != 3:
|
||
|
|
print("Usage: generate_state_files.py <count> <output_dir>", file=sys.stderr)
|
||
|
|
sys.exit(1)
|
||
|
|
|
||
|
|
count = int(sys.argv[1])
|
||
|
|
output_dir = sys.argv[2]
|
||
|
|
|
||
|
|
os.makedirs(output_dir, exist_ok=True)
|
||
|
|
|
||
|
|
for i in range(1, count + 1):
|
||
|
|
state = generate_state(i)
|
||
|
|
path = os.path.join(output_dir, f"state_{i}.json")
|
||
|
|
with open(path, "w") as f:
|
||
|
|
json.dump(state, f)
|
||
|
|
print(f"Created {path}")
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
main()
|