further refractoring

This commit is contained in:
2025-03-17 11:34:30 +01:00
parent 7d71f247c8
commit 88da77d2d4
7 changed files with 15 additions and 11 deletions

View File

@@ -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())

View File

@@ -0,0 +1 @@
# Empty file to make the directory a package

View File

@@ -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"]

View File

@@ -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,

View File

@@ -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,