File size: 1,487 Bytes
ae853c1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import os
import json
from uuid import uuid4
from seed_profile import SeedProfile, GrowthStage
from trait_normalizer import expressed_rgb_from_alleles
PROFILE_FILE = os.path.join(os.path.dirname(__file__), "starter_profiles.json")
class StarterSeedLoader:
def __init__(self, catalog, name_generator):
self.catalog = catalog
self.name_generator = name_generator
def load_starter_seeds(self):
with open(PROFILE_FILE, "r") as f:
starter_profiles = json.load(f)
for profile in starter_profiles:
alleles = profile["alleles"]
leaf_rgb = expressed_rgb_from_alleles(alleles["LeafColor"])
bud_rgb = expressed_rgb_from_alleles(alleles["BudColor"])
base = profile["traits_base"]
seed = SeedProfile(
strain_name=profile["name"],
type=profile["type"],
alleles=alleles,
stabilities=profile["stabilities"],
thc=base["THC"],
cbd=base["CBD"],
yield_=base["Yield"],
grow_time=base["GrowTime"],
bud_color=bud_rgb,
leaf_color=leaf_rgb,
base_image_name=profile["base_image_name"],
growth_stage=GrowthStage.SEED,
lineage=(None, None),
description=profile.get("description", ""),
is_starter=True,
)
self.catalog.add_seed(seed)
|