Skip to content
Snippets Groups Projects
vote_redis.py 1.08 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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