refactor(gateway): ponytail F2 - drop dead metadata, unreachable variant fallback, redundant except member

This commit is contained in:
PedroHMCosme
2026-07-14 22:24:02 -03:00
parent ce0db62848
commit f7f356fbd5
3 changed files with 3 additions and 5 deletions

View File

@@ -39,7 +39,7 @@ class NatsWriteConsumer:
async def _handle(self, msg) -> None: async def _handle(self, msg) -> None:
try: try:
payload = json.loads(msg.data) payload = json.loads(msg.data)
except (ValueError, UnicodeDecodeError) as e: except ValueError as e: # includes JSONDecodeError and UnicodeDecodeError
preview = msg.data[:200] preview = msg.data[:200]
self.logger.error(f'NatsWriteConsumer dropped malformed JSON ({e}): {preview!r}') self.logger.error(f'NatsWriteConsumer dropped malformed JSON ({e}): {preview!r}')
return return

View File

@@ -64,14 +64,12 @@ class WriteEngine(SientiaMonitoring):
logger: Logger, logger: Logger,
notification_handler: NotificationHandler, notification_handler: NotificationHandler,
metrics_controller: MetricsController, metrics_controller: MetricsController,
metadata: dict | None = None,
write_timestamp: bool = True, write_timestamp: bool = True,
write_quality: bool = True, write_quality: bool = True,
min_pause_s: float = 0.0, min_pause_s: float = 0.0,
): ):
self.pool = pool self.pool = pool
self.sink = sink self.sink = sink
self.metadata = metadata or {}
self.write_timestamp = write_timestamp self.write_timestamp = write_timestamp
self.write_quality = write_quality self.write_quality = write_quality
self.min_pause_s = min_pause_s self.min_pause_s = min_pause_s
@@ -130,7 +128,8 @@ class WriteEngine(SientiaMonitoring):
} }
def _variant_type(self, data_type: str) -> ua.VariantType: def _variant_type(self, data_type: str) -> ua.VariantType:
return _VARIANT_TYPES.get(data_type.strip().lower(), ua.VariantType.String) # direct index: unknown dtypes already became ConversionError in to_typed_value
return _VARIANT_TYPES[data_type.strip().lower()]
def _build_datavalue(self, cmd: dict, typed_value) -> ua.DataValue: def _build_datavalue(self, cmd: dict, typed_value) -> ua.DataValue:
variant = ua.Variant(typed_value, self._variant_type(cmd['data_type'])) variant = ua.Variant(typed_value, self._variant_type(cmd['data_type']))

View File

@@ -15,7 +15,6 @@ def make_engine(**kwargs):
logger=MagicMock(), logger=MagicMock(),
notification_handler=MagicMock(), notification_handler=MagicMock(),
metrics_controller=AsyncMock(), metrics_controller=AsyncMock(),
metadata={},
**kwargs, **kwargs,
) )
eng.emit_metric = AsyncMock() eng.emit_metric = AsyncMock()