Skip to content

Commit c4d5a79

Browse files
committed
define constants for reused errors
1 parent 0097570 commit c4d5a79

File tree

2 files changed

+21
-26
lines changed

2 files changed

+21
-26
lines changed

plugwise_usb/__init__.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from collections.abc import Callable, Coroutine
1111
from functools import wraps
1212
import logging
13-
from typing import Any, TypeVar, cast
13+
from typing import Any, TypeVar, cast, Final
1414

1515
from .api import NodeEvent, PlugwiseNode, StickEvent
1616
from .connection import StickController
@@ -19,7 +19,7 @@
1919

2020
FuncT = TypeVar("FuncT", bound=Callable[..., Any])
2121

22-
22+
NOT_INITIALIZED_STICK_ERROR: Final[StickError] = StickError("Cannot load nodes when network is not initialized")
2323
_LOGGER = logging.getLogger(__name__)
2424

2525

@@ -319,9 +319,7 @@ async def start_network(self) -> None:
319319
async def load_nodes(self) -> bool:
320320
"""Load all discovered nodes."""
321321
if self._network is None:
322-
raise StickError(
323-
"Cannot load nodes when network is not initialized"
324-
)
322+
raise NOT_INITIALIZED_STICK_ERROR
325323
if not self._network.is_running:
326324
raise StickError(
327325
"Cannot load nodes when network is not started"
@@ -333,19 +331,15 @@ async def load_nodes(self) -> bool:
333331
async def discover_coordinator(self, load: bool = False) -> None:
334332
"""Discover the network coordinator."""
335333
if self._network is None:
336-
raise StickError(
337-
"Cannot load nodes when network is not initialized"
338-
)
334+
raise NOT_INITIALIZED_STICK_ERROR
339335
await self._network.discover_network_coordinator(load=load)
340336

341337
@raise_not_connected
342338
@raise_not_initialized
343339
async def discover_nodes(self, load: bool = False) -> None:
344340
"""Discover all nodes."""
345341
if self._network is None:
346-
raise StickError(
347-
"Cannot load nodes when network is not initialized"
348-
)
342+
raise NOT_INITIALIZED_STICK_ERROR
349343
await self._network.discover_nodes(load=load)
350344

351345
@raise_not_connected

plugwise_usb/messages/properties.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
import binascii
44
from datetime import UTC, date, datetime, time, timedelta
55
import struct
6-
from typing import Any
6+
from typing import Any, Final
77

88
from ..constants import LOGADDR_OFFSET, PLUGWISE_EPOCH, UTF8
99
from ..exceptions import MessageError
1010
from ..helpers.util import int_to_uint
1111

12+
DESERIALIZE_ERROR: Final[MessageError] = MessageError("Unable to return value. Deserialize data first")
1213

1314
class BaseType:
1415
"""Generic single instance property."""
@@ -72,7 +73,7 @@ def deserialize(self, val: bytes) -> None:
7273
def value(self) -> bytes:
7374
"""Return bytes value."""
7475
if self._value is None:
75-
raise MessageError("Unable to return value. Deserialize data first")
76+
raise DESERIALIZE_ERROR
7677
return self._value
7778

7879

@@ -92,7 +93,7 @@ def deserialize(self, val: bytes) -> None:
9293
def value(self) -> str:
9394
"""Return converted int value."""
9495
if self._value is None:
95-
raise MessageError("Unable to return value. Deserialize data first")
96+
raise DESERIALIZE_ERROR
9697
return self._value
9798

9899

@@ -121,7 +122,7 @@ def deserialize(self, val: bytes) -> None:
121122
def value(self) -> int:
122123
"""Return converted int value."""
123124
if self._value is None:
124-
raise MessageError("Unable to return value. Deserialize data first")
125+
raise DESERIALIZE_ERROR
125126
return self._value
126127

127128

@@ -155,7 +156,7 @@ def deserialize(self, val: bytes) -> None:
155156
def value(self) -> int:
156157
"""Return converted datetime value."""
157158
if self._value is None:
158-
raise MessageError("Unable to return value. Deserialize data first")
159+
raise DESERIALIZE_ERROR
159160
return self._value
160161

161162

@@ -183,7 +184,7 @@ def deserialize(self, val: bytes) -> None:
183184
def value(self) -> datetime:
184185
"""Return converted datetime value."""
185186
if self._value is None:
186-
raise MessageError("Unable to return value. Deserialize data first")
187+
raise DESERIALIZE_ERROR
187188
return self._value
188189

189190

@@ -203,7 +204,7 @@ def deserialize(self, val: bytes) -> None:
203204
def value(self) -> int:
204205
"""Return converted int value."""
205206
if self._value is None:
206-
raise MessageError("Unable to return value. Deserialize data first")
207+
raise DESERIALIZE_ERROR
207208
return self._value
208209

209210

@@ -240,14 +241,14 @@ def deserialize(self, val: bytes) -> None:
240241
def value_set(self) -> bool:
241242
"""True when datetime is converted."""
242243
if not self._deserialized:
243-
raise MessageError("Unable to return value. Deserialize data first")
244+
raise DESERIALIZE_ERROR
244245
return self._value is not None
245246

246247
@property
247248
def value(self) -> datetime:
248249
"""Return converted datetime value."""
249250
if self._value is None:
250-
raise MessageError("Unable to return value. Deserialize data first")
251+
raise DESERIALIZE_ERROR
251252
return self._value
252253

253254

@@ -272,7 +273,7 @@ def deserialize(self, val: bytes) -> None:
272273
def value(self) -> time:
273274
"""Return converted time value."""
274275
if self._value is None:
275-
raise MessageError("Unable to return value. Deserialize data first")
276+
raise DESERIALIZE_ERROR
276277
return self._value
277278

278279

@@ -297,7 +298,7 @@ def deserialize(self, val: bytes) -> None:
297298
def value(self) -> str:
298299
"""Return converted string value."""
299300
if self._value is None:
300-
raise MessageError("Unable to return value. Deserialize data first")
301+
raise DESERIALIZE_ERROR
301302
return self._value
302303

303304

@@ -326,7 +327,7 @@ def deserialize(self, val: bytes) -> None:
326327
def value(self) -> time:
327328
"""Return converted time value."""
328329
if self._value is None:
329-
raise MessageError("Unable to return value. Deserialize data first")
330+
raise DESERIALIZE_ERROR
330331
return self._value
331332

332333

@@ -355,7 +356,7 @@ def deserialize(self, val: bytes) -> None:
355356
def value(self) -> date:
356357
"""Return converted date value."""
357358
if self._value is None:
358-
raise MessageError("Unable to return value. Deserialize data first")
359+
raise DESERIALIZE_ERROR
359360
return self._value
360361

361362

@@ -376,7 +377,7 @@ def deserialize(self, val: bytes) -> None:
376377
def value(self) -> float:
377378
"""Return converted float value."""
378379
if self._value is None:
379-
raise MessageError("Unable to return value. Deserialize data first")
380+
raise DESERIALIZE_ERROR
380381
return self._value
381382

382383

@@ -399,5 +400,5 @@ def deserialize(self, val: bytes) -> None:
399400
def value(self) -> int:
400401
"""Return converted time value."""
401402
if self._value is None:
402-
raise MessageError("Unable to return value. Deserialize data first")
403+
raise DESERIALIZE_ERROR
403404
return self._value

0 commit comments

Comments
 (0)