import json class PlantDatabase: def __init__(self, json_file): self.plants = [] self.load_plants(json_file) def load_plants(self, json_file): try: with open(json_file, 'r') as file: self.plants = json.load(file) print(f"Loaded {len(self.plants)} plants from database") except FileNotFoundError: print(f"Error: Could not find {json_file}") except json.JSONDecodeError as e: print(f"Error: Invalid JSON format - {e}") except Exception as e: print(f"Error loading plants: {e}") def get_plant_by_id(self, plant_id): for plant in self.plants: if plant.get('id') == plant_id: return plant return None def search_plants_by_name(self, name): results = [] for plant in self.plants: if name.lower() in plant.get('plantName', '').lower(): results.append(plant) return results def get_plants_by_variety(self, variety): results = [] for plant in self.plants: if variety.lower() in plant.get('plantVariety', '').lower(): results.append(plant) return results def display_plant_info(self, plant): if not plant: print("Plant not found") return print(f"\n=== {plant.get('plantName', 'Unknown')} ===") print(f"Variety: {plant.get('plantVariety', 'Unknown')}") print(f"Genetics: {plant.get('plantGenetics', 'Unknown')}") print(f"Flowering Time: {plant.get('floweringTime', 'Unknown')}") print(f"THC: {plant.get('thcContent', 'Unknown')}") print(f"CBD: {plant.get('cbdContent', 'Unknown')}") print(f"Effects: {plant.get('plantEffects', 'Unknown')}") print(f"Flavor: {plant.get('plantFlavor', 'Unknown')}") # Display pest information pests = plant.get('Pests', []) if pests: print(f"\nCommon Pests ({len(pests)}):") for pest in pests: print(f" - {pest.get('name', 'Unknown pest')}") class PlayerCharacter: def __init__(self, name): self.name = name def run(self): print('run') # Initialize the plant database plant_db = PlantDatabase('plants.json') # Test the functionality if plant_db.plants: print("\n=== Plant Database Test ===") # Search for a specific plant acapulco = plant_db.search_plants_by_name("Acapulco") if acapulco: plant_db.display_plant_info(acapulco[0]) # Search by variety sativa_plants = plant_db.get_plants_by_variety("sativa") print(f"\nFound {len(sativa_plants)} Sativa plants") # Get plant by ID plant_2 = plant_db.get_plant_by_id(2) if plant_2: print(f"\nPlant ID 2: {plant_2.get('plantName')}") player1 = PlayerCharacter('Çindy') print(f"\nPlayer: {player1.name}")
Shopping Basket