From 7a39c9444617cee7645b45ae5c83f258b52264fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20B=C3=BCcker?= <mb366767@fh-muenster.de> Date: Fri, 29 Sep 2023 13:12:54 +0000 Subject: [PATCH] Update functions --- python_startup/01_load_db.py | 31 +++++++++++++++++++++---------- requirements.txt | 1 + 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/python_startup/01_load_db.py b/python_startup/01_load_db.py index 02f6805..301322a 100644 --- a/python_startup/01_load_db.py +++ b/python_startup/01_load_db.py @@ -1,20 +1,31 @@ import os from dotenv import load_dotenv -import psycopg2 import pandas as pd +import sqlalchemy +from urllib.parse import quote_plus load_dotenv("/usr/src/app/.env") +class Database: + def __init__(self, db_name): + self.conn = db_connect(db_name) + + def __getattr__(self, table_name): + return pd.read_sql_table(table_name, self.conn) + def db_connect(db_name): - conn = psycopg2.connect( - host=os.getenv("DB_HOST"), - database=db_name, - user=os.getenv("DB_USER"), - password=os.getenv("DB_PASSWORD")) - return(conn) + hostname = "wi-sql.fh-muenster.de" + user = 'digibim' + password = quote_plus("Di&i$IM0815") + conn = sqlalchemy.create_engine(f'postgresql+psycopg2://{user}:{password}@{hostname}/{db_name}') + return conn def get_table(db_name, table_name): conn = db_connect(db_name) - sql = f"select * from {table_name};" - dat = pd.io.sql.read_sql_query(sql, conn) - return(dat) + dat = pd.read_sql_table(table_name, conn) + return dat + +def get_all_tables(db_name): + db_obj = Database(db_name) + return db_obj + diff --git a/requirements.txt b/requirements.txt index b8447f4..1abdf34 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ jupyterlab-gitlab==3.0.0 psycopg2-binary psycopg2 python-dotenv +sqlalchemy \ No newline at end of file -- GitLab