#!/usr/bin/env python import os import redis import json """ Redis interaction """ __author__ = "@tormakris" __copyright__ = "Copyright 2020, GoldenPogácsa Team" __module_name__ = "redis" __version__text__ = "1" REDISHOST = os.getenv("PRODUCER_REDIS", 'localhost') class RedisConnector: """ Class abstracting Redis communication """ def __init__(self): """ Initialize class """ self.redisconnection = redis.StrictRedis(host=REDISHOST, port=6379, db=0) def get_consumerlist(self): """ Gets list of consumers stored in Redis. :return: """ return json.loads(self.redisconnection.get('consumerList')) def set_consumerlist(self, consumerlist): """ Sets list of consumers stored in Redis. :param consumerlist: :return: """ json_list = json.dumps(consumerlist) self.redisconnection.set('consumerList', json_list) def get_currentconsumer(self): """ Gets currently active consumer. :return: """ return json.loads(self.redisconnection.get('currentConsumer')) def set_currentconsumer(self, currentconsumer): """ Sets currently active consumer :param currentconsumer: :return: """ json_dict = json.dumps(currentconsumer) self.redisconnection.set('currentConsumer', json_dict) consumerlist = property(get_consumerlist, set_consumerlist) currentconsumer = property(get_currentconsumer, set_currentconsumer)