diff options
| author | 2020-09-25 19:39:45 +0530 | |
|---|---|---|
| committer | 2020-09-25 19:39:45 +0530 | |
| commit | 73ce191c9e8c30cc4ecc677414cd3d826a336f28 (patch) | |
| tree | 8881686fc977e9c1afbdacbe464263a95e65ad2d /bot/exts/valentines | |
| parent | Merge branch 'partnerzodiac' of github.com:Anubhav1603/seasonalbot into partn... (diff) | |
added fromisoformat and bugfix
Diffstat (limited to 'bot/exts/valentines')
| -rw-r--r-- | bot/exts/valentines/valentine_zodiac.py | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/bot/exts/valentines/valentine_zodiac.py b/bot/exts/valentines/valentine_zodiac.py index 970fa0f2..6e33e5a5 100644 --- a/bot/exts/valentines/valentine_zodiac.py +++ b/bot/exts/valentines/valentine_zodiac.py @@ -1,9 +1,10 @@ +import calendar  import logging  import random  from datetime import datetime  from json import load  from pathlib import Path -from typing import Union +from typing import Tuple, Union  import discord  from discord.ext import commands @@ -33,12 +34,15 @@ class ValentineZodiac(commands.Cog):          self.zodiacs, self.zodiac_fact = self.load_comp_json()      @staticmethod -    def load_comp_json() -> dict: +    def load_comp_json() -> Tuple[dict, dict]:          """Load zodiac compatibility from static JSON resource."""          explanation_file = Path("bot/resources/valentines/zodiac_explanation.json")          compatibility_file = Path("bot/resources/valentines/zodiac_compatibility.json")          with explanation_file.open(encoding="utf8") as json_data:              zodiac_fact = load(json_data) +            for _, zodiac_data in zodiac_fact.items(): +                zodiac_data['start_at'] = datetime.fromisoformat(zodiac_data['start_at']) +                zodiac_data['end_at'] = datetime.fromisoformat(zodiac_data['end_at'])          with compatibility_file.open(encoding="utf8") as json_data:              zodiacs = load(json_data)              return zodiacs, zodiac_fact @@ -67,7 +71,7 @@ class ValentineZodiac(commands.Cog):      def zodiac_date_verifer(self, query_datetime: datetime) -> str:          """Returns zodiac sign by checking month and date."""          for zodiac_name, zodiac_data in self.zodiac_fact.items(): -            if zodiac_data["start_at"] <= query_datetime.date() <= zodiac_data["end_at"]: +            if zodiac_data["start_at"].date() <= query_datetime.date() <= zodiac_data["end_at"].date():                  zodiac = zodiac_name                  break              else: @@ -87,8 +91,8 @@ class ValentineZodiac(commands.Cog):      async def date_and_month(self, ctx: commands.Context, date: int, month: Union[int, str]) -> None:          """Provides information about zodiac sign by taking month and date as input."""          if isinstance(month, str): -            month = month.capitalize()              try: +                month = month.capitalize()                  month = list(calendar.month_abbr).index(month[:3])              except ValueError:                  await ctx.send("Sorry, but you have given wrong month name.")  |