"""Draw every preset, or the ones named, and fail if one comes out flat.""" import json import pathlib import sys from fractal import render def presets(): for path in sorted(pathlib.Path("presets").glob("*.json")): yield path.stem, json.loads(path.read_text()) def main(names): flat = [] for name, preset in presets(): if names and name not in names: continue rows = render(preset) print(f"== {name}: {preset.get('title', '')}") print("\n".join(rows)) print() if len(set("".join(rows))) < 3: flat.append(name) if flat: sys.exit(f"flat, nothing to see: {', '.join(flat)}") if __name__ == "__main__": main(sys.argv[1:])