dev #43
@ -1,40 +0,0 @@
|
|||||||
from os import makedirs, path, sep
|
|
||||||
from fastapi import FastAPI, HTTPException
|
|
||||||
from fastapi.responses import FileResponse, JSONResponse, Response
|
|
||||||
from starlette.status import HTTP_404_NOT_FOUND
|
|
||||||
from modules.utils import configGet
|
|
||||||
|
|
||||||
makedirs(f'{configGet("cache", "locations")}{sep}avatars', exist_ok=True)
|
|
||||||
|
|
||||||
app = FastAPI(title="HoloUA Avatars API", docs_url=None, redoc_url=None, version="1.0")
|
|
||||||
|
|
||||||
|
|
||||||
@app.get("/check", response_class=JSONResponse, include_in_schema=False)
|
|
||||||
@app.head("/check", response_class=JSONResponse, include_in_schema=False)
|
|
||||||
async def check():
|
|
||||||
return JSONResponse({"detail": "I'm alright, thank you"})
|
|
||||||
|
|
||||||
|
|
||||||
@app.get("/", response_class=FileResponse, include_in_schema=False)
|
|
||||||
async def avatar_get(avatar_id: str):
|
|
||||||
if path.exists(f'{configGet("cache", "locations")}{sep}avatars{sep}{avatar_id}'):
|
|
||||||
return FileResponse(
|
|
||||||
f'{configGet("cache", "locations")}{sep}avatars{sep}{avatar_id}',
|
|
||||||
media_type="image/jpg",
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
raise HTTPException(status_code=HTTP_404_NOT_FOUND, detail="File not found")
|
|
||||||
|
|
||||||
|
|
||||||
@app.head("/", response_class=Response, include_in_schema=False)
|
|
||||||
async def avatar_head(avatar_id: str):
|
|
||||||
if path.exists(f'{configGet("cache", "locations")}{sep}avatars{sep}{avatar_id}'):
|
|
||||||
return Response(
|
|
||||||
headers={
|
|
||||||
"Content-Length": path.getsize(
|
|
||||||
f'{configGet("cache", "locations")}{sep}avatars{sep}{avatar_id}'
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
raise HTTPException(status_code=HTTP_404_NOT_FOUND, detail="File not found")
|
|
@ -1,8 +1,7 @@
|
|||||||
aiocsv==1.2.3
|
aiocsv==1.2.4
|
||||||
aiofiles~=23.1.0
|
aiofiles~=23.1.0
|
||||||
APScheduler~=3.10.1
|
APScheduler~=3.10.1
|
||||||
convopyro==0.5
|
convopyro==0.5
|
||||||
fastapi~=0.95.0
|
|
||||||
ftfy~=6.1.1
|
ftfy~=6.1.1
|
||||||
psutil==5.9.4
|
psutil==5.9.4
|
||||||
polyglot~=16.7.4
|
polyglot~=16.7.4
|
||||||
@ -13,7 +12,6 @@ Pyrogram~=2.0.103
|
|||||||
python_dateutil==2.8.2
|
python_dateutil==2.8.2
|
||||||
pykeyboard==0.1.5
|
pykeyboard==0.1.5
|
||||||
requests==2.28.2
|
requests==2.28.2
|
||||||
starlette==0.26.1
|
|
||||||
tgcrypto==1.2.5
|
tgcrypto==1.2.5
|
||||||
ujson~=5.7.0
|
ujson~=5.7.0
|
||||||
xmltodict==0.13.0
|
xmltodict==0.13.0
|
Reference in New Issue
Block a user