import redis from smelog.factory import BoundLogger def init_redis(host: str, port: int, logger: BoundLogger) -> redis.Redis or None: """Init redis client connection. Args: host (str): Redis server host. port (int): Redis server port. logger (logging.Logger): Logging object. Returns: redis.Redis or None: Redis client instance or None if smth goes wrong. """ try: redis_client = redis.StrictRedis(host, port) except Exception as e: redis_client = None logger.warning("Redis is not initialized!") logger.warning(f"Redis: {e}") return redis_client def get_version_key(os: str, prefix: str) -> str: """Compose a Redis key. Args: os (str): os key. prefix (str): Config object. Returns: str: Complete key constructed by concatenated prefix + key. """ return f"{prefix}/{os}"