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}")