Validator functionnal

This commit is contained in:
GotthardG
2024-11-06 15:54:09 +01:00
parent 91468da9ed
commit 3cf9c669b9
3 changed files with 247 additions and 411 deletions

View File

@ -1,5 +1,3 @@
# app/routes/spreadsheet.py
from fastapi import APIRouter, UploadFile, File, HTTPException
import logging
from app.services.spreadsheet_service import SampleSpreadsheetImporter, SpreadsheetImportError
@ -7,6 +5,7 @@ from app.services.spreadsheet_service import SampleSpreadsheetImporter, Spreadsh
router = APIRouter()
logger = logging.getLogger(__name__)
@router.post("/upload")
async def upload_file(file: UploadFile = File(...)):
try:
@ -22,9 +21,9 @@ async def upload_file(file: UploadFile = File(...)):
validated_model = importer.import_spreadsheet(file)
logger.info(f"Validated model: {validated_model}")
dewars = {sample['dewarname'] for sample in validated_model if 'dewarname' in sample}
pucks = {sample['puckname'] for sample in validated_model if 'puckname' in sample}
samples = {sample['crystalname'] for sample in validated_model if 'crystalname' in sample}
dewars = {sample.dewarname for sample in validated_model if sample.dewarname}
pucks = {sample.puckname for sample in validated_model if sample.puckname}
samples = {sample.crystalname for sample in validated_model if sample.crystalname}
# Logging the sets of names
logger.info(f"Dewar Names: {dewars}")
@ -48,4 +47,4 @@ async def upload_file(file: UploadFile = File(...)):
raise HTTPException(status_code=400, detail=str(e))
except Exception as e:
logger.error(f"Failed to process file: {str(e)}")
raise HTTPException(status_code=500, detail=f"Failed to upload file. Please try again. {str(e)}")
raise HTTPException(status_code=500, detail=f"Failed to upload file. Please try again. {str(e)}")