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)