from .weather import Weather from .response_status import ResponseStatus class WeatherResponse: _response_status: ResponseStatus _weather: Weather def __init__(self): self._weather = None self._response_status = None # Weather property with getter and setter @property def weather(self)->Weather: """Get the weather data""" return self._weather @weather.setter def weather(self, value:Weather)->None: """Set the weather data with validation""" if value is not None and not isinstance(value, Weather): raise TypeError("weather must be an instance of Weather class") self._weather = value # ResponseStatus property with getter and setter @property def response_status(self)->ResponseStatus: """Get the response status""" return self._response_status @response_status.setter def response_status(self, value:ResponseStatus)->None: """Set the response status with validation""" if value is not None and not isinstance(value, ResponseStatus): raise TypeError("response_status must be an instance of ResponseStatus class") self._response_status = value # Additional utility methods def is_successful(self)->bool: """Check if the response was successful""" return self._response_status is not None def has_weather_data(self)->bool: """Check if weather data is available""" return self._weather is not None def __str__(self)->str: return f"WeatherResponse(weather={self._weather}, status={self._response_status})"