diff --git a/src/multilang_translator/translator_client/translator_client.py b/src/multilang_translator/translator_client/translator_client.py index 8ea0baf..6355b7c 100644 --- a/src/multilang_translator/translator_client/translator_client.py +++ b/src/multilang_translator/translator_client/translator_client.py @@ -6,7 +6,7 @@ from typing import List, Optional, Dict, Any, Tuple from enum import Enum -from multilang_translator.translator_api.translator_models import AnnouncementStates, Endpoint, EndpointGroup +from multilang_translator.translator_models.translator_models import AnnouncementStates, Endpoint, EndpointGroup # This can be overridden through environment variables @@ -28,13 +28,17 @@ def get_group(group_id: int) -> Optional[EndpointGroup]: def create_group(group: EndpointGroup) -> EndpointGroup: """Create a new endpoint group.""" - response = requests.post(f"{API_BASE_URL}/groups", json=group.model_dump()) + # Convert the model to a dict with enum values as their primitive values + payload = group.model_dump(mode='json') + response = requests.post(f"{API_BASE_URL}/groups", json=payload) response.raise_for_status() return EndpointGroup.model_validate(response.json()) def update_group(group_id: int, updated_group: EndpointGroup) -> EndpointGroup: """Update an existing endpoint group.""" - response = requests.put(f"{API_BASE_URL}/groups/{group_id}", json=updated_group.model_dump()) + # Convert the model to a dict with enum values as their primitive values + payload = updated_group.model_dump(mode='json') + response = requests.put(f"{API_BASE_URL}/groups/{group_id}", json=payload) response.raise_for_status() return EndpointGroup.model_validate(response.json()) diff --git a/src/multilang_translator/translator_api/__init__.py b/src/multilang_translator/translator_models/__init__.py similarity index 100% rename from src/multilang_translator/translator_api/__init__.py rename to src/multilang_translator/translator_models/__init__.py diff --git a/src/multilang_translator/translator_api/translator_models.py b/src/multilang_translator/translator_models/translator_models.py similarity index 100% rename from src/multilang_translator/translator_api/translator_models.py rename to src/multilang_translator/translator_models/translator_models.py diff --git a/src/multilang_translator/translator_server/__init__.py b/src/multilang_translator/translator_server/__init__.py new file mode 100644 index 0000000..71bc2fd --- /dev/null +++ b/src/multilang_translator/translator_server/__init__.py @@ -0,0 +1 @@ +# Empty file to make the directory a package diff --git a/src/multilang_translator/translator_api/endpoints_db.py b/src/multilang_translator/translator_server/endpoints_db.py similarity index 96% rename from src/multilang_translator/translator_api/endpoints_db.py rename to src/multilang_translator/translator_server/endpoints_db.py index 4339c76..f926062 100644 --- a/src/multilang_translator/translator_api/endpoints_db.py +++ b/src/multilang_translator/translator_server/endpoints_db.py @@ -2,9 +2,8 @@ Database file for endpoint definitions. This file contains configurations for auracast endpoints including their IP addresses and capabilities. """ -from typing import Dict, List, Optional, Set -from pydantic import BaseModel -from multilang_translator.translator_api.translator_models import EndpointGroup, Endpoint +from typing import List, Optional +from multilang_translator.translator_models.translator_models import EndpointGroup, Endpoint SUPPORTED_LANGUAGES = ["deu", "eng", "fra", "spa", "ita"] diff --git a/src/multilang_translator/translator_api/main_translator_api.py b/src/multilang_translator/translator_server/main_translator_api.py similarity index 83% rename from src/multilang_translator/translator_api/main_translator_api.py rename to src/multilang_translator/translator_server/main_translator_api.py index c4590de..dae4df8 100644 --- a/src/multilang_translator/translator_api/main_translator_api.py +++ b/src/multilang_translator/translator_server/main_translator_api.py @@ -1,6 +1,6 @@ """ Entry point for the Translator API server. -This file starts the FastAPI server with the translator_api. +This file starts the FastAPI server with the translator_server. """ import uvicorn import logging as log @@ -20,7 +20,7 @@ if __name__ == "__main__": ) log.info("Starting Translator API server") uvicorn.run( - "multilang_translator.translator_api.api:app", + "multilang_translator.translator_server.translator_server:app", host="0.0.0.0", port=7999, reload=True, diff --git a/src/multilang_translator/translator_api/translator_api.py b/src/multilang_translator/translator_server/translator_server.py similarity index 98% rename from src/multilang_translator/translator_api/translator_api.py rename to src/multilang_translator/translator_server/translator_server.py index c16b677..7b4b467 100644 --- a/src/multilang_translator/translator_api/translator_api.py +++ b/src/multilang_translator/translator_server/translator_server.py @@ -9,12 +9,12 @@ import time import logging as log # Import models -from multilang_translator.translator_api.translator_models import AnnouncementStates, Endpoint, EndpointGroup +from multilang_translator.translator_models.translator_models import AnnouncementStates, Endpoint, EndpointGroup from multilang_translator.translator import llm_translator from voice_provider import text_to_speech # Import the endpoints database and multicast client -from multilang_translator.translator_api import endpoints_db +from multilang_translator.translator_server import endpoints_db from auracast import multicast_client, auracast_config # Create FastAPI app @@ -313,7 +313,7 @@ if __name__ == "__main__": # with reload=True logging of modules does not function as expected uvicorn.run( app, - #'translator_api:app', + #'translator_server:app', host="0.0.0.0", port=7999, #reload=True,