From 46cc2c50eea7249a7218f3258a4206a4b2b3ae04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Sat, 11 Mar 2023 20:00:56 +0100 Subject: [PATCH] add interface to read variants.json file --- compress.py | 12 +----------- variants.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 variants.py diff --git a/compress.py b/compress.py index b83e8d9..be070d0 100644 --- a/compress.py +++ b/compress.py @@ -2,23 +2,13 @@ import json from enum import Enum from typing import List, Optional import more_itertools +from variants import variant_id, variant_name BASE62 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; COLORS = 'rygbpt' -# Some setup for conversion between variant id and name -with open("variants.json", 'r') as f: - VARIANTS = json.loads(f.read()) - -def variant_id(variant_name): - return next(var['id'] for var in VARIANTS if var['name'] == variant_name) - -def variant_name(variant_id): - return next(var['name'] for var in VARIANTS if var['id'] == variant_id) - - # Helper method, iterate over chunks of length n in a string def chunks(s: str, n: int): for i in range(0, len(s), n): diff --git a/variants.py b/variants.py new file mode 100644 index 0000000..95a5b5a --- /dev/null +++ b/variants.py @@ -0,0 +1,15 @@ +import json + + +# Some setup for conversion between variant id and name +with open("variants.json", 'r') as f: + VARIANTS = json.loads(f.read()) + +def variant_id(variant_name): + return next(var['id'] for var in VARIANTS if var['name'] == variant_name) + +def variant_name(variant_id): + return next(var['name'] for var in VARIANTS if var['id'] == variant_id) + +def num_suits(variant_id): + return next(len(var['suits']) for var in VARIANTS if var['id'] == variant_id)