idconvert/backend/models/scan.py

30 lines
674 B
Python

from __future__ import annotations
from typing import Optional, List
from pydantic import BaseModel
class FontEntry(BaseModel):
name: str
status: str # 'safe' | 'professional' | 'unknown'
substitute: Optional[str] = None
substitute_quality: Optional[str] = None
used_for: str = ''
class ScanWarning(BaseModel):
type: str
severity: str # 'info' | 'warning' | 'error'
page: Optional[int] = None
message: str
class ScanReport(BaseModel):
session_id: str = ''
pages: int
stories: int
images: int
tables: int
fonts: List[FontEntry] = []
warnings: List[ScanWarning] = []