Yassine Mhirsi
commited on
Commit
·
5eb5350
1
Parent(s):
06928e7
fix: Update error logging for route loading failures and enhance route debugging with detailed logging of available routes
Browse files- main.py +10 -2
- routes/__init__.py +1 -1
- routes/analysis.py +3 -3
main.py
CHANGED
|
@@ -214,8 +214,14 @@ try:
|
|
| 214 |
from routes import api_router
|
| 215 |
app.include_router(api_router, prefix="/api/v1")
|
| 216 |
logger.info("✓ Routes API principales chargées")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 217 |
except ImportError as e:
|
| 218 |
-
logger.
|
|
|
|
|
|
|
| 219 |
# Fallback
|
| 220 |
try:
|
| 221 |
from routes.label import router as kpa_router
|
|
@@ -226,7 +232,9 @@ except ImportError as e:
|
|
| 226 |
except ImportError:
|
| 227 |
logger.warning("⚠ Fallback pour KPA/Stance échoué")
|
| 228 |
except Exception as e:
|
| 229 |
-
logger.
|
|
|
|
|
|
|
| 230 |
|
| 231 |
# MCP Routes - Routes FastAPI pour Swagger UI + mount pour compatibilité MCP
|
| 232 |
if MCP_ENABLED:
|
|
|
|
| 214 |
from routes import api_router
|
| 215 |
app.include_router(api_router, prefix="/api/v1")
|
| 216 |
logger.info("✓ Routes API principales chargées")
|
| 217 |
+
# Log all routes for debugging
|
| 218 |
+
for route in api_router.routes:
|
| 219 |
+
if hasattr(route, 'path'):
|
| 220 |
+
logger.info(f" - Route: {route.path} (methods: {getattr(route, 'methods', 'N/A')})")
|
| 221 |
except ImportError as e:
|
| 222 |
+
logger.error(f"⚠ Routes API principales non trouvées: {e}")
|
| 223 |
+
import traceback
|
| 224 |
+
logger.error(traceback.format_exc())
|
| 225 |
# Fallback
|
| 226 |
try:
|
| 227 |
from routes.label import router as kpa_router
|
|
|
|
| 232 |
except ImportError:
|
| 233 |
logger.warning("⚠ Fallback pour KPA/Stance échoué")
|
| 234 |
except Exception as e:
|
| 235 |
+
logger.error(f"⚠ Échec chargement routes API principales: {e}")
|
| 236 |
+
import traceback
|
| 237 |
+
logger.error(traceback.format_exc())
|
| 238 |
|
| 239 |
# MCP Routes - Routes FastAPI pour Swagger UI + mount pour compatibilité MCP
|
| 240 |
if MCP_ENABLED:
|
routes/__init__.py
CHANGED
|
@@ -14,7 +14,7 @@ api_router.include_router(label.router, prefix="/label")
|
|
| 14 |
api_router.include_router(generate.router, prefix="/generate")
|
| 15 |
api_router.include_router(topic.router, prefix="/topic")
|
| 16 |
api_router.include_router(user.router, prefix="/user")
|
| 17 |
-
api_router.include_router(analysis.router, prefix="analyse")
|
| 18 |
api_router.include_router(audio_router)
|
| 19 |
|
| 20 |
__all__ = ["api_router"]
|
|
|
|
| 14 |
api_router.include_router(generate.router, prefix="/generate")
|
| 15 |
api_router.include_router(topic.router, prefix="/topic")
|
| 16 |
api_router.include_router(user.router, prefix="/user")
|
| 17 |
+
api_router.include_router(analysis.router, prefix="/analyse")
|
| 18 |
api_router.include_router(audio_router)
|
| 19 |
|
| 20 |
__all__ = ["api_router"]
|
routes/analysis.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
"""Analysis endpoints for processing arguments, extracting topics, and predicting stance"""
|
| 2 |
|
| 3 |
from fastapi import APIRouter, HTTPException, Header, UploadFile, File
|
| 4 |
-
from typing import Optional
|
| 5 |
import logging
|
| 6 |
import csv
|
| 7 |
import io
|
|
@@ -69,7 +69,7 @@ def parse_csv_file(file_content: bytes) -> List[str]:
|
|
| 69 |
raise ValueError(f"Failed to parse CSV file: {str(e)}")
|
| 70 |
|
| 71 |
|
| 72 |
-
@router.post("
|
| 73 |
async def analyse_arguments(
|
| 74 |
request: Optional[AnalysisRequest] = None,
|
| 75 |
file: Optional[UploadFile] = File(None),
|
|
@@ -146,7 +146,7 @@ async def analyse_arguments(
|
|
| 146 |
raise HTTPException(status_code=500, detail=f"Analysis failed: {str(e)}")
|
| 147 |
|
| 148 |
|
| 149 |
-
@router.get("
|
| 150 |
async def get_analysis_results(
|
| 151 |
limit: int = 100,
|
| 152 |
offset: int = 0,
|
|
|
|
| 1 |
"""Analysis endpoints for processing arguments, extracting topics, and predicting stance"""
|
| 2 |
|
| 3 |
from fastapi import APIRouter, HTTPException, Header, UploadFile, File
|
| 4 |
+
from typing import Optional, List
|
| 5 |
import logging
|
| 6 |
import csv
|
| 7 |
import io
|
|
|
|
| 69 |
raise ValueError(f"Failed to parse CSV file: {str(e)}")
|
| 70 |
|
| 71 |
|
| 72 |
+
@router.post("", response_model=AnalysisResponse, tags=["Analysis"])
|
| 73 |
async def analyse_arguments(
|
| 74 |
request: Optional[AnalysisRequest] = None,
|
| 75 |
file: Optional[UploadFile] = File(None),
|
|
|
|
| 146 |
raise HTTPException(status_code=500, detail=f"Analysis failed: {str(e)}")
|
| 147 |
|
| 148 |
|
| 149 |
+
@router.get("", response_model=GetAnalysisResponse, tags=["Analysis"])
|
| 150 |
async def get_analysis_results(
|
| 151 |
limit: int = 100,
|
| 152 |
offset: int = 0,
|