Skip to content

Commit

Permalink
Compatible with pydantic v2
Browse files Browse the repository at this point in the history
  • Loading branch information
matrixd2 committed Dec 6, 2023
1 parent 69609e3 commit 836e61b
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 14 deletions.
6 changes: 5 additions & 1 deletion yolink/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
from typing import Optional

from tenacity import RetryError
from pydantic import BaseModel, Field, validator

try:
from pydantic.v1 import BaseModel, Field, validator
except ImportError:
from pydantic import BaseModel, Field, validator

from .client import YoLinkClient
from .exception import YoLinkClientError
Expand Down
16 changes: 10 additions & 6 deletions yolink/model.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
"""YoLink Basic Model."""
from typing import Any, Dict, Optional
from pydantic import BaseModel

try:
from pydantic.v1 import BaseModel
except ImportError:
from pydantic import BaseModel

from .exception import (
YoLinkAuthFailError,
Expand All @@ -12,11 +16,11 @@
class BRDP(BaseModel):
"""BRDP of YoLink API."""

code: Optional[str]
desc: Optional[str]
method: Optional[str]
data: Dict[str, Any]
event: Optional[str]
code: Optional[str] = None
desc: Optional[str] = None
method: Optional[str] = None
data: Dict[str, Any] = None
event: Optional[str] = None

def check_response(self):
"""Check API Response."""
Expand Down
7 changes: 6 additions & 1 deletion yolink/mqtt_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@
import logging
from typing import Any
import aiomqtt
from pydantic import ValidationError

try:
from pydantic.v1 import ValidationError
except ImportError:
from pydantic import ValidationError

from .auth_mgr import YoLinkAuthMgr
from .const import (
YOLINK_API_MQTT_BROKER,
Expand Down
16 changes: 10 additions & 6 deletions yolink/thermostat_request_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@
from __future__ import annotations

from typing import Optional
from pydantic import BaseModel

try:
from pydantic.v1 import BaseModel
except ImportError:
from pydantic import BaseModel

from .client_request import ClientRequest


class ThermostatState(BaseModel):
"""Thermostat State."""

lowTemp: Optional[float]
highTemp: Optional[float]
mode: Optional[str]
fan: Optional[str]
sche: Optional[str]
lowTemp: Optional[float] = None
highTemp: Optional[float] = None
mode: Optional[str] = None
fan: Optional[str] = None
sche: Optional[str] = None


class ThermostatRequestBuilder: # pylint: disable=too-few-public-methods
Expand Down

0 comments on commit 836e61b

Please sign in to comment.