Files
calendar-bot/src/pvv_calendar_bot/sql_connector.py
T
2026-05-26 14:54:05 +09:00

59 lines
1.3 KiB
Python

import os
from dataclasses import dataclass
from datetime import datetime
from pprint import pprint
import mysql.connector
@dataclass
class Event:
"""
An Event with id,name,start,stop,location,description,organiser
"""
id: int
name: str
start: datetime
stop: datetime
location: str
description: str
organiser: str
def fetch_events() -> list[Event]:
mydb = mysql.connector.connect(
host=os.environ.get("MYSQL_URL", "mysql.pvv.ntnu.no").strip(),
user=os.environ.get("MYSQL_USER", "calendar-bot").strip(),
password=os.environ["MYSQL_PASSWORD"].strip(),
database="www-data_nettside",
)
mycursor = mydb.cursor()
mycursor.execute("""
SELECT id,name,start,stop,location,description,organiser
FROM events
WHERE DATE(start) = CURDATE()
""")
db_result = mycursor.fetchall()
results = []
for row in db_result:
results.append(
Event(
id=row[0],
name=row[1],
start=datetime.fromisoformat(row[2]),
stop=datetime.fromisoformat(row[3]),
location=row[4],
description=row[5],
organiser=row[6],
),
)
return results
if __name__ == "__main__":
pprint(fetch_events())