import logging import requests as requests from app.entities.processed_agent_data import ProcessedAgentData from app.interfaces.hub_gateway import HubGateway class HubHttpAdapter(HubGateway): def __init__(self, api_base_url): self.api_base_url = api_base_url def save_data(self, processed_data: ProcessedAgentData): """ Save the processed road data to the Hub. Parameters: processed_data (ProcessedAgentData): Processed road data to be saved. Returns: bool: True if the data is successfully saved, False otherwise. """ url = f"{self.api_base_url}/processed_agent_data/" response = requests.post(url, data=processed_data.model_dump_json()) if response.status_code != 200: logging.info( f"Invalid Hub response\nData: {processed_data.model_dump_json()}\nResponse: {response}" ) return False return True