sem8-iot-test/edge/app/adapters/hub_http_adapter.py

30 lines
970 B
Python
Raw Normal View History

2024-02-12 18:21:08 +02:00
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