🚑 image-fix (4th time)
This commit is contained in:
@@ -14,17 +14,18 @@ from classquiz.db.models import Quiz, QuizInput, User, PlayGame
|
|||||||
from classquiz.kahoot_importer.import_quiz import import_quiz
|
from classquiz.kahoot_importer.import_quiz import import_quiz
|
||||||
|
|
||||||
settings = settings()
|
settings = settings()
|
||||||
imgur_regex = r"^https://i\.imgur\.com\/.{7}.(jpg|png|gif)$"
|
|
||||||
server_regex = rf"^{settings.root_address}/api/v1/storage/download/.{36}--.{36}$"
|
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
@router.post("/create")
|
@router.post("/create")
|
||||||
async def create_quiz_lol(quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
async def create_quiz_lol(quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
||||||
|
imgur_regex = r"^https://i\.imgur\.com\/.{7}.(jpg|png|gif)$"
|
||||||
|
server_regex = rf"^{settings.root_address}/api/v1/storage/download/.{36}--.{36}$"
|
||||||
for question in quiz_input.questions:
|
for question in quiz_input.questions:
|
||||||
print(question.image)
|
if question.image == "":
|
||||||
|
question.image = None
|
||||||
if question.image is not None or question.image != "":
|
if question.image is not None or question.image != "":
|
||||||
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
||||||
raise HTTPException(status_code=400, detail="image url is not valid")
|
raise HTTPException(status_code=400, detail="image url is not valid")
|
||||||
@@ -92,8 +93,12 @@ async def get_quiz_list(user: User = Depends(get_current_user)):
|
|||||||
|
|
||||||
@router.put("/update/{quiz_id}")
|
@router.put("/update/{quiz_id}")
|
||||||
async def update_quiz(quiz_id: str, quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
async def update_quiz(quiz_id: str, quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
||||||
|
imgur_regex = r"^https://i\.imgur\.com\/.{7}.(jpg|png|gif)$"
|
||||||
|
server_regex = rf"^{settings.root_address}/api/v1/storage/download/.{36}--.{36}$"
|
||||||
for question in quiz_input.questions:
|
for question in quiz_input.questions:
|
||||||
if question.image is not None or question.image != "":
|
if question.image == "":
|
||||||
|
question.image = None
|
||||||
|
if question.image is not None:
|
||||||
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
||||||
raise HTTPException(status_code=400, detail="image url is not valid")
|
raise HTTPException(status_code=400, detail="image url is not valid")
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user