Spaces:
Running
Running
from pydantic import BaseModel | |
from dataclasses import dataclass, field | |
from typing import List, Dict | |
class Planet: | |
name: str | |
description: str | |
accommodation: str | |
activities: List[str] | |
photography: str | |
class Category: | |
budget_range: str | |
planets: List[Planet] = field(default_factory=list) | |
class TravelAgency(BaseModel): | |
name: str | |
categories: Dict[str, Category] = field(default_factory=dict) | |
def add_planet(self, category_name: str, budget_range: str, planet: Planet): | |
# Ensure category exists, create if not | |
if category_name not in self.categories: | |
self.categories[category_name] = Category(budget_range=budget_range) | |
self.categories[category_name].planets.append(planet) | |
# class Planet(BaseModel): | |
# def __init__(self, name, atmosphere, species, signature_dish, activities): | |
# self.name = name | |
# self.atmosphere = atmosphere | |
# self.species = species | |
# self.signature_dish = signature_dish | |
# self.activities = activities | |
# def describe(self): | |
# return f"Planet: {self.name}\n" \ | |
# f"Atmosphere: {self.atmosphere}\n" \ | |
# f"Species: {self.species}\n" \ | |
# f"Signature Dish: {self.signature_dish}\n" \ | |
# f"Activities: {', '.join(self.activities)}" |