| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from typing import Optional
- import pandas as pd
- import pandera as pa
- from pandera.typing import Series, DataFrame
- class ContactSchema(pa.DataFrameModel):
- key: Series[str] = pa.Field(unique=True)
- Prénom: Series[str]
- Nom: Series[str]
- Mail: Series[str]
- Tél: Series[str]
- SMS: Series[bool]
- class CreneauDataSchema(pa.DataFrameModel):
- title: Series[str]
- lieu: Optional[Series[str]]
- description: Series[str]
- responsable: Series[str]
- tags: Optional[Series[str]]
- class CreneauSchema(pa.DataFrameModel):
- id: Series[str]
- template_id: Series[str]
- nom: Series[str]
- benevole_nom: Series[str]
- ligne: Series[int]
- start: Series[pd.DatetimeTZDtype] = pa.Field(
- dtype_kwargs={"unit": "ns", "tz": "UTC"}, coerce=True
- )
- end: Series[pd.DatetimeTZDtype] = pa.Field(
- dtype_kwargs={"unit": "ns", "tz": "UTC"}, coerce=True
- )
- class GsheetData:
- contact: DataFrame[ContactSchema]
- creneauData: DataFrame[CreneauDataSchema]
- planning: DataFrame[CreneauSchema]
- def __init__(
- self,
- contact: DataFrame[ContactSchema],
- creneauData: DataFrame[CreneauDataSchema],
- planning: DataFrame[CreneauSchema],
- ):
- self.contact = contact
- self.creneauData = creneauData
- self.planning = planning
|