From 20a9b4a7b94d11d89fba35637b2c9633035b8109 Mon Sep 17 00:00:00 2001 From: dnns01 <git@dnns01.de> Date: Tue, 27 Dec 2022 14:41:48 +0100 Subject: [PATCH] Cleanup forecasts to show only current weeks forecast and highlight today in forecast --- extensions/schedule.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/extensions/schedule.py b/extensions/schedule.py index 1e9859d..b753fea 100644 --- a/extensions/schedule.py +++ b/extensions/schedule.py @@ -122,6 +122,7 @@ class TwitchSchedule(commands.GroupCog, name="schedule"): end_day = start_day + timedelta(days=6) schedule_channel = await self.bot.fetch_channel(int(os.getenv("SCHEDULE_CHANNEL"))) + await self.cleanup_forecast(schedule_channel) week_schedule = Schedule.get_or_none(calendar_week=calendar_week, calendar_year=start_day.year) embed = discord.Embed(title=f"Contentvorhersage für die {calendar_week}. Kalenderwoche", @@ -133,6 +134,10 @@ class TwitchSchedule(commands.GroupCog, name="schedule"): while curr_day <= end_day: name = f"{get_weekday(curr_day)} {curr_day.strftime('%d.%m.%Y')}" value = "" + + if curr_day.day == datetime.now().day: + name = f">> {name} <<" + for segment in ScheduleSegment.select() \ .where(ScheduleSegment.start_time.between(curr_day, (curr_day + timedelta(days=1)))) \ .order_by(ScheduleSegment.start_time): @@ -175,6 +180,18 @@ class TwitchSchedule(commands.GroupCog, name="schedule"): remove_cancelled_streams(user, schedule.segments) + async def cleanup_forecast(self, schedule_channel): + now = datetime.now() + calendar = now.isocalendar() + + for schedule in Schedule.select().where(Schedule.calendar_week <= calendar.week - 1): + try: + message = await schedule_channel.fetch_message(schedule.message_id) + await message.delete() + except: + pass + schedule.delete_instance(recursive=True) + async def setup(bot: commands.Bot) -> None: await bot.add_cog(TwitchSchedule(bot)) -- GitLab