#!/usr/bin/env python3 ''' common functions and stuff ''' import os import sys import psycopg pg_db = os.environ['el_pg_db'] pg_host = os.environ['el_pg_host'] pg_user = os.environ.get('el_pg_user','') pg_pass = os.environ.get('el_pg_pass','') def dbi(sql, values, **kwargs): ''' insert into db ''' verbose = bool(kwargs['verbose']) if 'verbose' in kwargs else False # pylint: disable=E1129 with psycopg.connect(dbname=pg_db, host=pg_host, user=pg_user, password=pg_pass) as conn: cur = conn.cursor() if isinstance(values, list): cur.executemany(sql, values) elif isinstance(values, tuple): cur.execute(sql, values) else: print('`values` is a', type(values), 'but it needs to be tuple or list') sys.exit(1) if verbose is True: print("Inserted and/or changed", cur.rowcount, "rows into db") return True