1
0

factory.py 858 B

12345678910111213141516171819202122232425
  1. """Factory for creating MQTT handlers."""
  2. import os
  3. from typing import Dict, Callable
  4. from .base import BaseMQTTHandler
  5. from .handler import MQTTHandler
  6. from .mock import MockMQTTHandler
  7. from .utils import create_mqtt_callbacks
  8. import logging
  9. logger = logging.getLogger(__name__)
  10. def create_mqtt_handler() -> BaseMQTTHandler:
  11. """Create and return an appropriate MQTT handler based on configuration.
  12. Returns:
  13. BaseMQTTHandler: Either a real MQTTHandler if MQTT_BROKER is configured,
  14. or a MockMQTTHandler if not.
  15. """
  16. if os.getenv('MQTT_BROKER'):
  17. logger.info("Got MQTT configuration, instantiating MQTTHandler")
  18. return MQTTHandler(create_mqtt_callbacks())
  19. logger.info("MQTT Not going to be used, instantiating MockMQTTHandler")
  20. return MockMQTTHandler()