Newer
Older
import os
import redis
class VoteRedis(redis.Redis):
def __init__(self):
self.host = os.getenv("REDIS_HOST")
self.port = os.getenv("REDIS_PORT")
self.db = os.getenv("REDIS_DB")
self.password = os.getenv("REDIS_PW")
super().__init__(host=self.host, port=self.port, db=self.db, password=self.password)
try:
self.ping()
print('Redis: Connected!')
self.is_connected = True
self.init_db()
except Exception:
print('A connection to the Redis server could not be established. Redis querys are avoided.')
self.is_connected = False
def init_db(self):
# update constants in Redis-DB
self.set('voteMin', os.getenv("VOTE_MIN_VOTES"))
self.set('voteDelayEnd', os.getenv("VOTE_DELAY_END"))
self.set('voteDelayInter', os.getenv("VOTE_DELAY_INTERIM"))
#
# reset DB
p = self.pipeline() # start transaction
p.set('plus', 0)
p.set('neutral', 0)
p.set('minus', 0)
p.execute() # transaction end