diff --git a/src/routes/wallpaper.py b/src/routes/wallpaper.py index 79273a3..ba0a422 100644 --- a/src/routes/wallpaper.py +++ b/src/routes/wallpaper.py @@ -1,10 +1,9 @@ -from fastapi import APIRouter, Request -from fastapi.responses import HTMLResponse, FileResponse, RedirectResponse -from fastapi.templating import Jinja2Templates +from http import HTTPStatus import requests -from datetime import datetime -from http import HTTPStatus +from fastapi import APIRouter, Request +from fastapi.responses import HTMLResponse, FileResponse +from fastapi.templating import Jinja2Templates router = APIRouter() @@ -13,23 +12,27 @@ template = Jinja2Templates(directory='./src/web/html') @router.get('/wallpaper/today', response_class=HTMLResponse) async def today_wallpaper(request: Request): - date = datetime.today().strftime('%Y-%m-%d') res = requests.get(f'https://api.starlio.space/last') - if HTTPStatus(res.status_code).is_server_error or \ - HTTPStatus(res.status_code).is_client_error: - 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(f'https://api.starlio.space/wallpaper/{day}') - - if HTTPStatus(res.status_code).is_server_error or \ - HTTPStatus(res.status_code).is_client_error: - return FileResponse('./src/web/html/error/404.html') + if HTTPStatus(res.status_code).is_server_error or HTTPStatus(res.status_code).is_client_error: + return FileResponse('../web/html/error/404.html', status_code=HTTPStatus.NOT_FOUND) + + return template.TemplateResponse( + request, + '/wallpaper.html', + {'info': res.json()} + ) + + +@router.get('/wallpaper/{day}', response_class=HTMLResponse) +async def wallpaper(request: Request, day): + res = requests.get(f'https://api.starlio.space/wallpaper/{day}') + + if (HTTPStatus(res.status_code).is_server_error + or HTTPStatus(res.status_code).is_client_error + or len(res.json()) <= 0): + + return FileResponse('./src/web/html/error/404.html', status_code=HTTPStatus.NOT_FOUND) return template.TemplateResponse( request,