You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
import psycopg2
|
|
from Util import ConfigUtil
|
|
|
|
|
|
def create_connection():
|
|
conn = None
|
|
try:
|
|
config = ConfigUtil.getConfig()
|
|
conn = psycopg2.connect(
|
|
dbname=config.get('database', 'dbname'),
|
|
user=config.get('database', 'user'),
|
|
password=config.get('database', 'password'),
|
|
host=config.get('database', 'host'),
|
|
port=config.get('database', 'port')
|
|
)
|
|
# print("Connection to PostgreSQL DB successful.")
|
|
except Exception as e:
|
|
print(e)
|
|
return conn
|
|
|
|
|
|
def execute_query(query, params=None):
|
|
records = []
|
|
conn = create_connection()
|
|
if conn is not None:
|
|
try:
|
|
with conn.cursor() as cursor:
|
|
if params:
|
|
cursor.execute(query, params)
|
|
else:
|
|
cursor.execute(query)
|
|
records = cursor.fetchall()
|
|
except Exception as e:
|
|
print(f"The error '{e}' occurred")
|
|
finally:
|
|
conn.close()
|
|
return records
|
|
|
|
|
|
def execute_modify(query, params=None):
|
|
conn = create_connection()
|
|
if conn is not None:
|
|
try:
|
|
with conn.cursor() as cursor:
|
|
if params:
|
|
cursor.execute(query, params)
|
|
else:
|
|
cursor.execute(query)
|
|
conn.commit()
|
|
except psycopg2.Error as e:
|
|
print(params)
|
|
print(f"The error '{e}' occurred")
|
|
conn.rollback()
|
|
finally:
|
|
conn.close()
|
|
|