Initial commit — PlantGuideScraper project
This commit is contained in:
45
backend/app/schemas/export.py
Normal file
45
backend/app/schemas/export.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from pydantic import BaseModel
|
||||
from datetime import datetime
|
||||
from typing import Optional, List
|
||||
|
||||
|
||||
class ExportFilter(BaseModel):
|
||||
min_images_per_species: int = 100
|
||||
licenses: Optional[List[str]] = None # None means all
|
||||
min_quality: Optional[float] = None
|
||||
species_ids: Optional[List[int]] = None # None means all
|
||||
|
||||
|
||||
class ExportCreate(BaseModel):
|
||||
name: str
|
||||
filter_criteria: ExportFilter
|
||||
train_split: float = 0.8
|
||||
|
||||
|
||||
class ExportResponse(BaseModel):
|
||||
id: int
|
||||
name: str
|
||||
filter_criteria: Optional[str] = None
|
||||
train_split: float
|
||||
status: str
|
||||
file_path: Optional[str] = None
|
||||
file_size: Optional[int] = None
|
||||
species_count: Optional[int] = None
|
||||
image_count: Optional[int] = None
|
||||
created_at: datetime
|
||||
completed_at: Optional[datetime] = None
|
||||
error_message: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ExportListResponse(BaseModel):
|
||||
items: List[ExportResponse]
|
||||
total: int
|
||||
|
||||
|
||||
class ExportPreview(BaseModel):
|
||||
species_count: int
|
||||
image_count: int
|
||||
estimated_size_mb: float
|
||||
Reference in New Issue
Block a user