Merge pull request #32 from unslothai/feature/datasets-endpoint-preview-samples

Return Raw Preview Samples on Format Detection Failure
This commit is contained in:
Roland Tannous 2026-02-12 19:53:13 +04:00 committed by GitHub
commit 0caad17134
2 changed files with 10 additions and 2 deletions

1
.gitignore vendored
View file

@ -36,3 +36,4 @@ Thumbs.db
resources/
tmp/
auth.db
studio/frontend/package-lock.json

View file

@ -81,9 +81,10 @@ async def check_format(request: CheckFormatRequest):
logger.info(f"Format check result: requires_mapping={result['requires_manual_mapping']}, format={result['detected_format']}")
# If format is processable, generate preview samples via format_dataset
# Generate preview samples
preview_samples = None
if not result["requires_manual_mapping"]:
# Format detected — return processed preview
try:
format_result = format_dataset(
preview_slice,
@ -93,7 +94,13 @@ async def check_format(request: CheckFormatRequest):
processed = format_result["dataset"]
preview_samples = [dict(row) for row in processed]
except Exception as e:
logger.warning(f"Preview generation failed (non-fatal): {e}")
logger.warning(f"Processed preview generation failed (non-fatal): {e}")
# Fall back to raw samples so frontend still has something
preview_samples = [dict(row) for row in preview_slice]
else:
# Format detection failed — return raw samples so user can
# see actual data and map columns in the frontend
preview_samples = [dict(row) for row in preview_slice]
return CheckFormatResponse(
requires_manual_mapping=result["requires_manual_mapping"],