Spaces:
Sleeping
Sleeping
generation_result.py
Purpose
Data model for image generation results. Consistent structure for results from any backend.
Responsibilities
- Encapsulate generation results (success/failure)
- Store generated image and metadata
- Validate result consistency
- Provide factory methods for success/error results
- Serialize to dictionary for logging
Dependencies
dataclasses- Data class decoratorPIL.Image- Image type- Used by all backends and services
Public Interface
GenerationResult dataclass
Fields:
success: bool- Success status (required)message: str- Status/error message (required)image: Image- Generated image (optional, required if success)generation_time: float- Time in seconds (optional)saved_path: Path- Save location (optional)metadata: dict- Additional metadata (optional)timestamp: datetime- Auto-populated
Properties:
is_successful: bool- Alias for successhas_image: bool- True if image presentis_saved: bool- True if saved to disk
Factory Methods:
success_result(image, message, generation_time, **kwargs)- Create success resulterror_result(message, **kwargs)- Create error result
Usage:
# Success
result = GenerationResult.success_result(
image=generated_image,
message="Generated in 3.2s",
generation_time=3.2
)
# Error
result = GenerationResult.error_result(
message="Backend not available"
)
if result.is_successful:
st.image(result.image)
Related Files
models/generation_request.py- Request model- All backends - Return results
- All services - Process results