From 30700830b6c0aaaa59c148ebd8edb6931040ed13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Wed, 2 May 2018 01:39:35 +0200 Subject: Refactor databases access --- dbs.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 dbs.py (limited to 'dbs.py') diff --git a/dbs.py b/dbs.py new file mode 100644 index 0000000..b32afa3 --- /dev/null +++ b/dbs.py @@ -0,0 +1,55 @@ +import psycopg2 +import redis as _redis + +redis = None +psql = None + +def redis_connected(): + global redis + if redis is None: + return False + else: + try: + return redis.ping() + except Exception: + return False + +def psql_connected(): + global psql + return psql is not None and psql.closed == 0 + +def connect_redis(args): + global redis + + redis_config = { + "host": args.redis_host, + "port": args.redis_port, + "db": args.redis_database, + } + if redis_config["host"].startswith("/"): + redis_config["unix_socket_path"] = redis_config.pop("host") + del(redis_config["port"]) + del(args.redis_host) + del(args.redis_port) + del(args.redis_database) + + if redis is None: + redis = _redis.Redis(**redis_config) + +def connect_psql(args): + global psql + pg_config = { + "host": args.db_host, + "port": args.db_port, + "user": args.db_user, + "password": args.db_password, + "database": args.db_database, + } + del(args.db_host) + del(args.db_port) + del(args.db_user) + del(args.db_password) + del(args.db_database) + + if psql is None: + psql = psycopg2.connect(**pg_config) -- cgit v1.2.3