diff --git a/src/pvv_calendar_bot/main.py b/src/pvv_calendar_bot/main.py index 5cb9e94..e8ab7cb 100644 --- a/src/pvv_calendar_bot/main.py +++ b/src/pvv_calendar_bot/main.py @@ -10,15 +10,14 @@ from markdown2 import Markdown import asyncio from .sql_connector import fetch_events, Event -MATRIX_URL=os.environ.get("MATRIX_URL","https://matrix.pvv.ntnu.no") -MATRIX_USER=os.environ.get("MATRIX_USER","@bot_calendar:pvv.ntnu.no") -MATRIX_TOKEN=os.environ.get("MATRIX_TOKEN") -ANNOUNCEMENT_CHANNEL=os.environ.get("ANNOUNCEMENT_CHANNEL", "!announcements:pvv.ntnu.no") +MATRIX_URL=os.environ.get("MATRIX_URL","https://matrix.pvv.ntnu.no").strip() +MATRIX_USER=os.environ.get("MATRIX_USER","@bot_calendar:pvv.ntnu.no").strip() +MATRIX_TOKEN=os.environ.get("MATRIX_TOKEN").strip() +ANNOUNCEMENT_CHANNEL=os.environ.get("ANNOUNCEMENT_CHANNEL", "!announcements:pvv.ntnu.no").strip() client = None - -def create_announcement(event,atEveryone): +def create_announcement(event: Event, atEveryone: bool) -> str: url = "https://www.pvv.ntnu.no/hendelser/info.php?id={}".format(event.id) msgText = dedent('''\ ## Dagens arrangement / Event of the Day: "{name}" @@ -38,10 +37,15 @@ def create_announcement(event,atEveryone): if atEveryone: msgText = msgText + '\n@room' + return msgText -async def sendMatrixAnnouncement(event: Event, channel: str = ANNOUNCEMENT_CHANNEL, atEveryone: bool = False) -> None: +async def sendMatrixAnnouncement( + event: Event, + channel: str = ANNOUNCEMENT_CHANNEL, + atEveryone: bool = False +) -> None: msgText = create_announcement(event,atEveryone) return await client.room_send( room_id=channel, @@ -50,7 +54,7 @@ async def sendMatrixAnnouncement(event: Event, channel: str = ANNOUNCEMENT_CHANN "msgtype": "m.text", "body": msgText, "format": "org.matrix.custom.html", - "formatted_body": Markdown().convert(msgText) + "formatted_body": Markdown().convert(msgText), } ) diff --git a/src/pvv_calendar_bot/sql_connector.py b/src/pvv_calendar_bot/sql_connector.py index a7776a4..b86bdb6 100644 --- a/src/pvv_calendar_bot/sql_connector.py +++ b/src/pvv_calendar_bot/sql_connector.py @@ -20,33 +20,34 @@ class Event: def fetch_events(): mydb = mysql.connector.connect( - host = os.environ.get("MYSQL_URL","mysql.pvv.ntnu.no"), - user = os.environ.get("MYSQL_USER","calendar-bot"), - password = os.environ["MYSQL_PASSWORD"], #lmao - database = "www-data_nettside" + 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() - """) + 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], - )) + 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()) \ No newline at end of file + pprint(fetch_events())