functions

This commit is contained in:
CC
2026-09-01 22:51:06 +01:00
parent 14c16ce0c8
commit 1f62a5e008

36
main.py
View File

@@ -2,27 +2,37 @@ import os
import pandas as pd import pandas as pd
from dotenv import load_dotenv, find_dotenv from dotenv import load_dotenv, find_dotenv
from sqlalchemy.engine import URL, create_engine from sqlalchemy.engine import URL, create_engine
from sqlalchemy.engine.base import Engine
load_dotenv(find_dotenv())
url = URL.create( def get_engine() -> Engine:
"""Load env vars and return a SQLAlchemy engine connected to the database."""
load_dotenv(find_dotenv())
url = URL.create(
drivername="postgresql+psycopg2", drivername="postgresql+psycopg2",
username=os.getenv("DATABASE_USERNAME"), username=os.getenv("DATABASE_USERNAME"),
password=os.getenv("DATABASE_PASSWORD"), password=os.getenv("DATABASE_PASSWORD"),
host=os.getenv("DATABASE_IP"), host=os.getenv("DATABASE_IP"),
port=int(os.getenv("DATABASE_PORT")), port=int(os.getenv("DATABASE_PORT", 5432)),
database=os.getenv("DATABASE_NAME"), database=os.getenv("DATABASE_NAME"),
) )
engine = create_engine(url) return create_engine(url)
query = """SELECT title, genres FROM audiobookshelf.ao3;""" def run_query(engine: Engine, query: str) -> pd.DataFrame:
return pd.read_sql_query(query, engine)
data = pd.read_sql_query(query, engine) def fetch_titles_and_genres(engine: Engine) -> pd.DataFrame:
print(data.head()) """Query title/genres from audiobookshelf.ao3 and return as a DataFrame."""
query = """SELECT title, genres FROM audiobookshelf.ao3;"""
return run_query(engine, query)
# cursor.execute(Query) def main():
# row = cursor.fetchone() engine = get_engine()
# while row is not None: data = fetch_titles_and_genres(engine)
# print(row) print(data.head())
# row = cursor.fetchone()
if __name__ == "__main__":
main()