Spaces:
Sleeping
Sleeping
| # models/converterModels.py | |
| from pydantic import BaseModel, ConfigDict, Field, field_validator, validator | |
| from typing import Dict, Optional | |
| class LampConnections(BaseModel): | |
| min: float | |
| max: float | |
| def convert_values(cls, v): | |
| v_str = str(v) | |
| v_str = v_str.replace(',', '.') | |
| return float(v_str) | |
| class VoltageRange(BaseModel): | |
| min: float | |
| max: float | |
| def convert_values(cls, v): | |
| v_str = str(v) | |
| v_str = v_str.replace(',', '.') | |
| return float(v_str) | |
| class PowerConverter(BaseModel): | |
| doc_id: Optional[str] = Field(None, alias="id") | |
| artnr: Optional[int] = Field(None, alias="artnr") | |
| ip_rating: Optional[int] = Field(None, alias="ip") | |
| lamps: Optional[Dict[str, LampConnections]] = Field(default_factory=dict, alias="lamps") | |
| type: Optional[str] = Field(None, alias="type") | |
| name: Optional[str] = Field(None, alias="name") | |
| efficiency: Optional[float] = Field(None, alias="efficiency_full_load") | |
| pdf_link: Optional[str] = Field(None, alias="pdf_link") | |
| converter_description: Optional[str] = Field(None, alias="converter_description") | |
| nom_input_voltage: Optional[VoltageRange] = Field(None, alias="nom_input_voltage_v") | |
| output_voltage:Optional[VoltageRange]= Field(None, alias="output_voltage_v") | |
| unit: Optional[str] = Field(None, alias="unit") | |
| price: Optional[float] = Field(None, alias="listprice") | |
| life_cycle: Optional[str] = Field(None, alias="lifecycle") | |
| size: Optional[str] = Field(None, alias="size") | |
| ccr_amplitude: Optional[str] = Field(None, alias="ccr_amplitude") | |
| dimmability: Optional[str] = Field(None, alias="dimmability") | |
| strain_relief: Optional[str] = Field(None, alias="strain_relief") | |
| gross_weight: Optional[float] = Field(None, alias="gross_weight") | |
| model_config = ConfigDict( | |
| populate_by_name=True, # Critical fix | |
| extra="ignore" | |
| ) |