From 40f341f0c510973c4f432f7fddc0038674735be2 Mon Sep 17 00:00:00 2001 From: ks129 <45097959+ks129@users.noreply.github.com> Date: Mon, 6 Apr 2020 19:18:03 +0300 Subject: (Space): Added check is date in range 16th June 1995 and today. --- bot/exts/evergreen/space.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bot/exts/evergreen/space.py') diff --git a/bot/exts/evergreen/space.py b/bot/exts/evergreen/space.py index 89b31e87..c6d8433d 100644 --- a/bot/exts/evergreen/space.py +++ b/bot/exts/evergreen/space.py @@ -74,7 +74,12 @@ class Space(Cog): # Parse date to params, when provided. Show error message when invalid formatting if date: try: - params["date"] = datetime.strptime(date, "%Y-%m-%d").date().isoformat() + now = datetime.now().date() + apod_date = datetime.strptime(date, "%Y-%m-%d").date() + if datetime(1995, 6, 16).date() > apod_date or now < apod_date: + await ctx.send(f"Date must be in range 16th June 1995 and {now.strftime('%dth %B %Y')}.") + return + params["date"] = apod_date.isoformat() except ValueError: await ctx.send(f"Invalid date {date}. Please make sure your date is in format YYYY-MM-DD.") return -- cgit v1.2.3 From 3928c4b758db89bc68eb848e7478a53a64eb15dd Mon Sep 17 00:00:00 2001 From: ks129 <45097959+ks129@users.noreply.github.com> Date: Mon, 6 Apr 2020 19:47:21 +0300 Subject: (Space): Fixed formatting of try-except block. --- bot/exts/evergreen/space.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'bot/exts/evergreen/space.py') diff --git a/bot/exts/evergreen/space.py b/bot/exts/evergreen/space.py index c6d8433d..6d93a980 100644 --- a/bot/exts/evergreen/space.py +++ b/bot/exts/evergreen/space.py @@ -74,16 +74,18 @@ class Space(Cog): # Parse date to params, when provided. Show error message when invalid formatting if date: try: - now = datetime.now().date() apod_date = datetime.strptime(date, "%Y-%m-%d").date() - if datetime(1995, 6, 16).date() > apod_date or now < apod_date: - await ctx.send(f"Date must be in range 16th June 1995 and {now.strftime('%dth %B %Y')}.") - return - params["date"] = apod_date.isoformat() except ValueError: await ctx.send(f"Invalid date {date}. Please make sure your date is in format YYYY-MM-DD.") return + now = datetime.now().date() + if datetime(1995, 6, 16).date() > apod_date or now < apod_date: + await ctx.send(f"Date must be in range 16th June 1995 and {now.strftime('%dth %B %Y')}.") + return + + params["date"] = apod_date.isoformat() + result = await self.fetch_from_nasa("planetary/apod", params) await ctx.send( -- cgit v1.2.3 From 25d07411ce68053b4a136ade47faf2e8396f1b3d Mon Sep 17 00:00:00 2001 From: ks129 <45097959+ks129@users.noreply.github.com> Date: Tue, 7 Apr 2020 19:59:36 +0300 Subject: (Space): Moved APOD command min date to constant, made changes in error message when date is going out of range. --- bot/exts/evergreen/space.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'bot/exts/evergreen/space.py') diff --git a/bot/exts/evergreen/space.py b/bot/exts/evergreen/space.py index 6d93a980..3587fc00 100644 --- a/bot/exts/evergreen/space.py +++ b/bot/exts/evergreen/space.py @@ -1,6 +1,6 @@ import logging import random -from datetime import datetime +from datetime import date, datetime from typing import Any, Dict, Optional, Union from urllib.parse import urlencode @@ -17,6 +17,8 @@ NASA_BASE_URL = "https://api.nasa.gov" NASA_IMAGES_BASE_URL = "https://images-api.nasa.gov" NASA_EPIC_BASE_URL = "https://epic.gsfc.nasa.gov" +APOD_MIN_DATE = date(1995, 6, 16) + class DateConverter(Converter): """Parse SOL or earth date (in format YYYY-MM-DD) into `int` or `datetime`. When invalid input, raise error.""" @@ -80,8 +82,8 @@ class Space(Cog): return now = datetime.now().date() - if datetime(1995, 6, 16).date() > apod_date or now < apod_date: - await ctx.send(f"Date must be in range 16th June 1995 and {now.strftime('%dth %B %Y')}.") + if APOD_MIN_DATE > apod_date or now < apod_date: + await ctx.send(f"Date must be between {APOD_MIN_DATE.isoformat()} and {now.isoformat()} (today).") return params["date"] = apod_date.isoformat() -- cgit v1.2.3