33import binascii
44from datetime import UTC , date , datetime , time , timedelta
55import struct
6- from typing import Any
6+ from typing import Any , Final
77
88from ..constants import LOGADDR_OFFSET , PLUGWISE_EPOCH , UTF8
99from ..exceptions import MessageError
1010from ..helpers .util import int_to_uint
1111
12+ DESERIALIZE_ERROR : Final [MessageError ] = MessageError ("Unable to return value. Deserialize data first" )
1213
1314class 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