diff --git a/src/routes/wallpaper.py b/src/routes/wallpaper.py index 24adbd4..f9bbdf2 100644 --- a/src/routes/wallpaper.py +++ b/src/routes/wallpaper.py @@ -1,20 +1,34 @@ from fastapi import APIRouter, Request -from fastapi.responses import HTMLResponse, FileResponse +from fastapi.responses import HTMLResponse, FileResponse, RedirectResponse from fastapi.templating import Jinja2Templates import requests +from datetime import datetime router = APIRouter() template = Jinja2Templates(directory='./src/web/html') +def get_wallpaper(date: str): + return requests.get('https://api.nasa.gov/planetary/apod', params={ + 'api_key': '1gI9G84ZafKDEnrbydviGknReOGiVK9jqrQBE3et', + 'date': date, + }) + +@router.get('/wallpaper/today', response_class=HTMLResponse) +async def today_wallpaper(requests: Request): + date = datetime.today().strftime('%Y-%m-%d') + res = get_wallpaper(date) + + if res.status_code != 200: + return FileResponse('./src/web/html/error/404.html') + + return RedirectResponse(f'/wallpaper/{date}') + @router.get('/wallpaper/{day}', response_class=HTMLResponse) async def wallpaper(request: Request, day): - res = requests.get('https://api.nasa.gov/planetary/apod', params={ - 'api_key': '1gI9G84ZafKDEnrbydviGknReOGiVK9jqrQBE3et', - 'date': day, - }) + res = get_wallpaper(day) if res.status_code != 200: return FileResponse('./src/web/html/error/404.html') @@ -23,4 +37,4 @@ async def wallpaper(request: Request, day): request, '/wallpaper.html', {'info': res.json()} - ) + ) \ No newline at end of file