diff --git a/cogs/school.py b/cogs/school.py index 01f8f09..4325057 100644 --- a/cogs/school.py +++ b/cogs/school.py @@ -1,5 +1,4 @@ from data import schedule -from data.embeds.food import Menu from decorators import help import discord from discord.ext import commands @@ -22,7 +21,27 @@ class School(commands.Cog): # @commands.check(checks.allowedChannels) @help.Category(category=Category.School) async def eten(self, ctx, day: str = None): - embed = Menu(day).to_embed() + day_dt = les.find_target_date(day if day else None) + day_dt = skip_weekends(day_dt) + day = intToWeekday(day_dt.weekday()) + + # Create embed + menu = eten.etenScript(day_dt) + embed = discord.Embed(colour=discord.Colour.blue()) + embed.set_author(name="Menu voor {}".format(day.lower())) + + if "gesloten" in menu[0].lower(): + embed.description = "Restaurant gesloten" + else: + embed.add_field(name="🥣 Soep:", value=menu[0], inline=False) + embed.add_field(name="🍴 Hoofdgerechten:", value=menu[1], inline=False) + + if menu[2]: + embed.add_field(name="❄️ Koud:", value=menu[2], inline=False) + + if menu[3]: + embed.add_field(name="🥦 Groenten:", value=menu[3], inline=False) + await ctx.reply(embed=embed, mention_author=False) @commands.command(name="Les", aliases=["Class", "Classes", "Sched", "Schedule"], usage="[Dag]*") diff --git a/cogs/slash/school_slash.py b/cogs/slash/school_slash.py deleted file mode 100644 index d664f99..0000000 --- a/cogs/slash/school_slash.py +++ /dev/null @@ -1,37 +0,0 @@ -from discord.ext import commands -from dislash import SlashInteraction, slash_command, Option, OptionType, OptionChoice - -from data.embeds.food import Menu, restos -from startup.didier import Didier - - -class SchoolSlash(commands.Cog): - def __init__(self, client: Didier): - self.client: Didier = client - - @slash_command( - name="eten", - description="Menu voor een bepaalde resto op een bepaalde dag", - options=[ - Option( - "dag", - description="Dag", - type=OptionType.STRING - ), - Option( - "resto", - description="Resto", - type=OptionType.STRING, - choices=list( - OptionChoice(v, k) for k, v in restos.items() - ) - ) - ] - ) - async def _food_slash(self, interaction: SlashInteraction, dag: str = None, resto: str = "sterre"): - embed = Menu(dag, resto).to_embed() - await interaction.reply(embed=embed) - - -def setup(client: Didier): - client.add_cog(SchoolSlash(client)) diff --git a/data/embeds/food.py b/data/embeds/food.py deleted file mode 100644 index 65d2519..0000000 --- a/data/embeds/food.py +++ /dev/null @@ -1,55 +0,0 @@ -from dataclasses import dataclass, field -from datetime import datetime -from typing import Optional, Tuple, Dict - -import discord - -from functions import les, eten -from functions.timeFormatters import skip_weekends, intToWeekday -from functions.stringFormatters import leading_zero as lz - - -restos: Dict[str, str] = { - "ardoyen": "Ardoyen", - "coupure": "Coupure", - "debrug": "De Brug", - "dunant": "Dunant", - "heymans": "Heymans", - "kantienberg": "Kantienberg", - "merelbeke": "Merelbeke", - "sterre": "Sterre" -} - - -@dataclass -class Menu: - day: Optional[str] = None - resto: str = "sterre" - _day: datetime = field(init=False) - _menu: Tuple[str, str, str, str] = field(init=False) - - def __post_init__(self): - self._day = les.find_target_date(self.day if self.day else None) - self._day = skip_weekends(self._day) - self.day = intToWeekday(self._day.weekday()) - self._menu = eten.etenScript(self._day) - - def to_embed(self) -> discord.Embed: - embed = discord.Embed(colour=discord.Colour.blue()) - date_formatted = f"{lz(self._day.day)}/{lz(self._day.month)}/{self._day.year}" - embed.set_author(name=f"Menu voor {self.day.lower()} {date_formatted}") - embed.title = f"Resto {restos[self.resto]}" - - if "gesloten" in self._menu[0].lower(): - embed.description = "Restaurant gesloten" - else: - embed.add_field(name="🥣 Soep:", value=self._menu[0], inline=False) - embed.add_field(name="🍴 Hoofdgerechten:", value=self._menu[1], inline=False) - - if self._menu[2]: - embed.add_field(name="❄️ Koud:", value=self._menu[2], inline=False) - - if self._menu[3]: - embed.add_field(name="🥦 Groenten:", value=self._menu[3], inline=False) - - return embed diff --git a/functions/eten.py b/functions/eten.py index 1d6220b..84e031a 100644 --- a/functions/eten.py +++ b/functions/eten.py @@ -49,7 +49,7 @@ def etenScript(dag: datetime, resto: str = "sterre"): for v in menu["vegetables"]: menuGroenten += ("* {}\n".format(v)) - except Exception: + except Exception as e: menuSoep += "Restaurant gesloten" menuGroenten += "Restaurant gesloten" menuHoofdgerechten += "Restaurant gesloten"