From 392e19f4b32597ce2bb7b469c3d72706d42d9d7b Mon Sep 17 00:00:00 2001 From: Mark Hoekveen Date: Fri, 26 Jul 2024 13:34:02 +0200 Subject: [PATCH] Datetime support and updates for muzak endpoint Now supports ISO date. Hardcoded at UTC+2. --- General.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/General.py b/General.py index f93efed..e7626ed 100644 --- a/General.py +++ b/General.py @@ -5,7 +5,7 @@ import random import re import json, requests import warnings -from datetime import date, timedelta +from datetime import timedelta, datetime, timezone from discord.ext import commands class General(commands.Cog): @@ -97,23 +97,31 @@ class General(commands.Cog): """HD muzak playlist""" data = json.loads(self.get_playlist_json().content) msg = "" - open = date.fromisoformat(data['openDate']) - nom = date.fromisoformat(data['deadlineNominations']) - vote = date.fromisoformat(data['deadlineVoting']) - today = date.today() + open = datetime.fromisoformat(data['openDate']) + nom = datetime.fromisoformat(data['deadlineNominations']) + vote = datetime.fromisoformat(data['deadlineVoting']) + today = datetime.now(tz=timezone(timedelta(hours=2))) if open > today: msg += "Het stemmen is nog niet geopend voor dit jaar.\n" days = (open-today).days - msg += f"Nog {days} nachtjes slapen!\n" - msg += f"Vanaf {open} is de muzak open en kun je naar hartelust stemmen en nomineren op {self.muzak_url}.\n" + if days > 0: + msg += f"Nog {days} nachtjes slapen!\n" + msg += f"Vanaf {open}" + else: + msg += f"**Maar binnenkort is het zo ver:**\n" + msg += f"Vanaf {open.time()}" + msg += f" is de muzak open en kun je naar hartelust stemmen en nomineren op {self.muzak_url}.\n" + elif today > nom and today < vote: + msg += f"**Het nomineren is voorbij,** maar je kunt nog stemmen op alle genomineerde nummers tot {nom}.\n" + msg += f"Stemmen kan hier: {self.muzak_url}\n" elif today > nom and today > vote and (today - vote) < timedelta(days=8): msg += "Het nomineren en stemmen is alweer voorbij.\n" msg += "Je zult nog even geduld moeten hebben tot de lijst klaar is.\n" elif today > nom and today > vote: msg += "De lijst is al helemaal klaar. Goed gedaan jongens. Applausje voor jezelf." else: - if open == today: - msg += "Jawel mensen! Vanaf vandaag mag het stemmen beginnen!\n" + if open.date() == today.date(): + msg += "**Jawel mensen! Vanaf vandaag mag het stemmen beginnen!**\n" msg += f"Stemmen en nomineren kan hier: {self.muzak_url}\n" msg += f"*Er zijn al {data['stemCount']} nummers genomineerd!*\n" msg += f"Nomineren kan tot {nom}, stemmen kan tot {vote}.\n"