Skip to content

Commit 5e45d4b

Browse files
committed
fix: resolve all type-check errors
1 parent 9a70866 commit 5e45d4b

4 files changed

Lines changed: 15 additions & 10 deletions

File tree

src/carconnectivity_plugins/campermode/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from dataclasses import dataclass, field, replace
99
from datetime import datetime, time
1010
from enum import Enum
11+
from typing import cast
1112

1213
LOG: logging.Logger = logging.getLogger("carconnectivity.plugins.campermode")
1314

@@ -46,7 +47,7 @@ def to_dict(self) -> dict[str, object]:
4647

4748
@classmethod
4849
def from_dict(cls, data: dict[str, object]) -> CamperTimer:
49-
raw_days = data["days_of_week"] # type: ignore[arg-type]
50+
raw_days = cast("list[str | int | float]", data["days_of_week"])
5051
valid_days: list[int] = []
5152
for d in raw_days:
5253
val = int(d)

src/carconnectivity_plugins/campermode/plugin.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
from __future__ import annotations
44

5+
import enum
56
import logging
67
from dataclasses import replace
8+
from datetime import timedelta
79
from typing import TYPE_CHECKING
810

911
from carconnectivity.attributes import EnumAttribute, LevelAttribute
@@ -155,11 +157,11 @@ def _try_connect_vehicle(self, vehicle: GenericVehicle) -> None:
155157
)
156158
self._observed_climatization.append(vehicle.climatization.state)
157159
for conn in self.car_connectivity.connectors.connectors.values():
158-
if hasattr(conn, "interval") and conn.interval.value is not None:
159-
self._scheduler.set_poll_interval(
160-
conn.interval.value.total_seconds()
161-
)
162-
break
160+
if hasattr(conn, "interval"):
161+
val = getattr(conn.interval, "value", None)
162+
if isinstance(val, timedelta):
163+
self._scheduler.set_poll_interval(val.total_seconds())
164+
break
163165

164166
def _on_vehicle_added(
165167
self, element: object, flags: Observable.ObserverEvent
@@ -179,7 +181,9 @@ def _on_climatization_changed(
179181
self, element: object, flags: Observable.ObserverEvent
180182
) -> None:
181183
del flags
182-
if isinstance(element, EnumAttribute) and element.value is not None:
184+
if isinstance(element, EnumAttribute) and isinstance(
185+
element.value, enum.Enum
186+
):
183187
self._state.climatization_state = element.value.name.lower()
184188
self._scheduler.on_climatization_state_changed(element.value)
185189

src/carconnectivity_plugins/campermode/scheduler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,8 +405,8 @@ def _apply_climate_settings(self) -> None:
405405
}
406406
for zone, setting in zone_map.items():
407407
attr = getattr(clima_settings, zone, None)
408-
if attr is not None and attr.is_changeable: # type: ignore[union-attr]
409-
attr.value = extra and setting # type: ignore[union-attr]
408+
if attr is not None and attr.is_changeable:
409+
attr.value = extra and setting
410410
except ImportError:
411411
pass
412412
except Exception as exc:

src/carconnectivity_plugins/campermode/ui/plugin_ui.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def __init__(
7878
Bootstrap5(self.app)
7979

8080
login_manager = flask_login.LoginManager()
81-
login_manager.login_view = "login" # type: ignore[assignment]
81+
login_manager.login_view = "login"
8282
login_manager.login_message = "Please log in to access this page."
8383
login_manager.login_message_category = "info"
8484
login_manager.init_app(self.app)

0 commit comments

Comments
 (0)