feat(saints-dictons): table saint_du_jour + API + import standalone 366j
- Nouveau modèle SaintDuJour (mois+jour+saints_json, indépendant de l'année) - Router /api/saints et /api/saints/jour (mois+jour → liste de prénoms) - Script standalone import_webapp_db.py : saints_du_jour.json → saint_du_jour, dictons_du_jour.json → dicton ; modes replace/append, --dry-run, --region - Données JSON 366 jours : saints_du_jour.json + dictons_du_jour.json - Scripts scraping/export calendrier_lunaire/saints_dictons/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,3 +9,4 @@ from app.models.dicton import Dicton # noqa
|
||||
from app.models.astuce import Astuce # noqa
|
||||
from app.models.recolte import Recolte, Observation # noqa
|
||||
from app.models.meteo import MeteoStation, MeteoOpenMeteo # noqa
|
||||
from app.models.saint import SaintDuJour # noqa
|
||||
|
||||
14
backend/app/models/saint.py
Normal file
14
backend/app/models/saint.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from typing import Optional
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
|
||||
class SaintDuJour(SQLModel, table=True):
|
||||
"""Saints fêtés pour un jour donné (indépendant de l'année)."""
|
||||
|
||||
__tablename__ = "saint_du_jour"
|
||||
|
||||
id: Optional[int] = Field(default=None, primary_key=True)
|
||||
mois: int = Field(index=True) # 1-12
|
||||
jour: int = Field(index=True) # 1-31
|
||||
saints_json: str = Field(default="[]") # JSON array : ["St-Basile", "St-Grégoire", ...]
|
||||
source_url: Optional[str] = None # URL source de scraping
|
||||
Reference in New Issue
Block a user