🚨 Made flake8 happy

This commit is contained in:
Mawoka
2022-04-09 10:29:55 +02:00
parent ebc007ef1d
commit 87920b055c
20 changed files with 60 additions and 49 deletions
+3 -3
View File
@@ -1,12 +1,12 @@
from fastapi import FastAPI, Request
import sentry_sdk import sentry_sdk
from fastapi import FastAPI, Request
from sentry_sdk.integrations.redis import RedisIntegration
from socketio import ASGIApp from socketio import ASGIApp
from classquiz.db import database
from classquiz.config import settings from classquiz.config import settings
from classquiz.db import database
from classquiz.routers import users, quiz, utils, stats, storage from classquiz.routers import users, quiz, utils, stats, storage
from classquiz.socket_server import sio from classquiz.socket_server import sio
from sentry_sdk.integrations.redis import RedisIntegration
settings = settings() settings = settings()
if settings.sentry_dsn: if settings.sentry_dsn:
+2 -1
View File
@@ -15,7 +15,8 @@ from passlib.hash import argon2
from classquiz.cache import get_cache from classquiz.cache import get_cache
from classquiz.config import settings from classquiz.config import settings
from classquiz.db.models import * from datetime import datetime
from classquiz.db.models import User, TokenData
settings = settings() settings = settings()
+1
View File
@@ -6,6 +6,7 @@ import ormar
from classquiz.config import redis, settings from classquiz.config import redis, settings
from classquiz.db.models import User from classquiz.db.models import User
settings = settings() settings = settings()
+3 -1
View File
@@ -1,6 +1,8 @@
import redis.asyncio as redis_lib
from functools import lru_cache from functools import lru_cache
import redis.asyncio as redis_lib
from pydantic import BaseSettings, RedisDsn, PostgresDsn from pydantic import BaseSettings, RedisDsn, PostgresDsn
from classquiz.storage import Storage from classquiz.storage import Storage
+3 -2
View File
@@ -1,6 +1,7 @@
from pydantic import BaseModel
from uuid import UUID
from typing import List, Any, Optional from typing import List, Any, Optional
from uuid import UUID
from pydantic import BaseModel
class _CoverMetadata(BaseModel): class _CoverMetadata(BaseModel):
+1 -1
View File
@@ -1,6 +1,6 @@
from aiohttp import ClientSession from aiohttp import ClientSession
from pydantic import BaseModel from pydantic import BaseModel
from classquiz.kahoot_importer import _Card, _Kahoot from classquiz.kahoot_importer import _Card, _Kahoot
+4 -4
View File
@@ -1,12 +1,13 @@
import html
import json import json
import uuid import uuid
from datetime import datetime from datetime import datetime
from aiohttp import ClientSession, FormData from aiohttp import ClientSession
import html
from classquiz.config import settings, storage
from classquiz.db.models import Quiz, QuizAnswer, QuizQuestion, User from classquiz.db.models import Quiz, QuizAnswer, QuizQuestion, User
from classquiz.kahoot_importer.get import get as get_quiz from classquiz.kahoot_importer.get import get as get_quiz
from classquiz.config import settings, storage
settings = settings() settings = settings()
@@ -65,7 +66,6 @@ async def import_quiz(quiz_id: str, user: User) -> Quiz | str:
quiz_questions: list[dict] = [] quiz_questions: list[dict] = []
quiz_id = uuid.uuid4() quiz_id = uuid.uuid4()
for q in quiz.kahoot.questions: for q in quiz.kahoot.questions:
answers: list[QuizAnswer] = [] answers: list[QuizAnswer] = []
image = None image = None
+7 -6
View File
@@ -1,15 +1,16 @@
from uuid import UUID from typing import List
from typing import List, Any, Optional
from aiohttp import ClientSession
from classquiz.kahoot_importer import _Entity
from aiohttp import ClientSession
from pydantic import BaseModel from pydantic import BaseModel
from classquiz.kahoot_importer import _Entity
# noqa : E501
class _Response(BaseModel): class _Response(BaseModel):
entities: List[_Entity] entities: List[_Entity]
totalHits: int totalHits: int
cursor: int cursor: int | None
pageTimestamp: int pageTimestamp: int
@@ -26,7 +27,7 @@ async def search(query: str | None, limit: int | None = 9, cursor: int | None =
""" """
async with ClientSession() as session: async with ClientSession() as session:
async with session.get( async with session.get(
f"https://create.kahoot.it/rest/kahoots/?query={query}&limit={limit}&cursor={cursor}&searchCluster={search_cluster}&includeExtendedCounters=false&inventoryItemId={inventory_item_id}" f"https://create.kahoot.it/rest/kahoots/?query={query}&limit={limit}&cursor={cursor}&searchCluster={search_cluster}&includeExtendedCounters=false&inventoryItemId={inventory_item_id}" # noqa : E501
) as response: ) as response:
# print( # print(
+3 -4
View File
@@ -1,18 +1,17 @@
import json import json
import re
import uuid import uuid
from datetime import datetime from datetime import datetime
from random import randint from random import randint
from pydantic import ValidationError
from classquiz.kahoot_importer.import_quiz import import_quiz
from fastapi import APIRouter, Depends, HTTPException from fastapi import APIRouter, Depends, HTTPException
from fastapi.responses import JSONResponse from fastapi.responses import JSONResponse
import re from pydantic import ValidationError
from classquiz.auth import get_current_user, get_current_user_optional from classquiz.auth import get_current_user, get_current_user_optional
from classquiz.config import redis, settings, storage from classquiz.config import redis, settings, storage
from classquiz.db.models import Quiz, QuizInput, User, PlayGame from classquiz.db.models import Quiz, QuizInput, User, PlayGame
from classquiz.kahoot_importer.import_quiz import import_quiz
settings = settings() settings = settings()
+3 -8
View File
@@ -1,13 +1,8 @@
import os from fastapi import APIRouter
from fastapi import APIRouter, Response
from fastapi.background import BackgroundTasks
from fastapi.responses import JSONResponse, RedirectResponse
from fastapi.security import OAuth2PasswordRequestForm
from pydantic import BaseModel
from classquiz.auth import *
from classquiz.config import redis from classquiz.config import redis
from classquiz.db.models import * from pydantic import BaseModel
from classquiz.db.models import Quiz, User
router = APIRouter() router = APIRouter()
+3 -1
View File
@@ -1,7 +1,9 @@
import re
from fastapi import APIRouter, HTTPException from fastapi import APIRouter, HTTPException
from fastapi.responses import StreamingResponse from fastapi.responses import StreamingResponse
from classquiz.config import settings, storage from classquiz.config import settings, storage
import re
settings = settings() settings = settings()
+8 -5
View File
@@ -1,17 +1,20 @@
import os import os
from email_validator import validate_email, EmailNotValidError from email_validator import validate_email, EmailNotValidError
from fastapi import APIRouter, Response from fastapi import APIRouter, Response, HTTPException, Request, Depends, status
from datetime import timedelta, datetime
from fastapi.background import BackgroundTasks from fastapi.background import BackgroundTasks
from fastapi.responses import JSONResponse, RedirectResponse from fastapi.responses import JSONResponse, RedirectResponse
from fastapi.security import OAuth2PasswordRequestForm from fastapi.security import OAuth2PasswordRequestForm
from classquiz.auth import * from classquiz.auth import get_password_hash, verify_password, authenticate_user, create_access_token, get_current_user
from classquiz.config import redis
from classquiz.cache import clear_cache_for_account from classquiz.cache import clear_cache_for_account
from classquiz.db.models import * from classquiz.config import redis, settings
import uuid
from pydantic import BaseModel
from classquiz.db.models import User, UserSession, UpdatePassword, Token
from classquiz.emails import send_register_email, send_forgotten_password_email from classquiz.emails import send_register_email, send_forgotten_password_email
settings = settings()
router = APIRouter() router = APIRouter()
route_user = User.get_pydantic( route_user = User.get_pydantic(
+2 -3
View File
@@ -6,6 +6,7 @@ from fastapi import APIRouter
from fastapi.responses import Response from fastapi.responses import Response
from classquiz.config import settings from classquiz.config import settings
settings = settings() settings = settings()
router = APIRouter() router = APIRouter()
@@ -16,9 +17,7 @@ async def get_qr(quiz_pin: str):
""" """
Get QR code for quiz Get QR code for quiz
""" """
factory = qrcode.image.svg.SvgImage qr = qrcode.QRCode(image_factory=qrcode.image.svg.SvgPathImage, version=1, box_size=20, border=0)
qr = qrcode.QRCode(image_factory=qrcode.image.svg.SvgPathImage, version=1
, box_size=20, border=0)
qr.add_data(f"{settings.root_address}/play?pin={quiz_pin}") qr.add_data(f"{settings.root_address}/play?pin={quiz_pin}")
buf = io.BytesIO() buf = io.BytesIO()
qr.make(fit=True) qr.make(fit=True)
+4 -4
View File
@@ -4,7 +4,7 @@ import aiohttp
import socketio import socketio
from classquiz.config import redis, settings from classquiz.config import redis, settings
from classquiz.db.models import GameSession, PlayGame from classquiz.db.models import PlayGame
sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins=[]) sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins=[])
settings = settings() settings = settings()
@@ -20,7 +20,7 @@ async def join_game(sid, data):
if not resp_data["success"]: if not resp_data["success"]:
print("CAPTCHA FAILED") print("CAPTCHA FAILED")
return return
except KeyError as e: except KeyError:
print("CAPTCHA FAILED") print("CAPTCHA FAILED")
return return
redis_res = await redis.get(f"game:{data['game_pin']}") redis_res = await redis.get(f"game:{data['game_pin']}")
@@ -89,8 +89,8 @@ async def set_question_number(sid, data):
@sio.event @sio.event
async def submit_answer(sid, data): async def submit_answer(sid, data):
session = await sio.get_session(sid) session = await sio.get_session(sid)
redis_res = await redis.get(f"game_session:{session['game_pin']}") # redis_res = await redis.get(f"game_session:{session['game_pin']}")
game_session = GameSession(**json.loads(redis_res)) # game_session = GameSession(**json.loads(redis_res))
game_data = PlayGame(**json.loads(await redis.get(f"game:{session['game_pin']}"))) game_data = PlayGame(**json.loads(await redis.get(f"game:{session['game_pin']}")))
# print(game_session) # print(game_session)
answer_right = False answer_right = False
+3 -2
View File
@@ -1,8 +1,9 @@
from .deta_storage import DetaStorage
from .local_storage import LocalStorage
from io import BytesIO from io import BytesIO
from typing import Optional from typing import Optional
from .deta_storage import DetaStorage
from .local_storage import LocalStorage
class Storage: class Storage:
def __init__(self, backend: str, deta_key: Optional[str], deta_id: Optional[str], storage_path: Optional[str]): def __init__(self, backend: str, deta_key: Optional[str], deta_id: Optional[str], storage_path: Optional[str]):
+2 -1
View File
@@ -1,6 +1,7 @@
from aiohttp import ClientSession
from io import BytesIO from io import BytesIO
from aiohttp import ClientSession
class DetaStorage: class DetaStorage:
def __init__(self, deta_base_url: str, deta_id: str, deta_key: str): def __init__(self, deta_base_url: str, deta_id: str, deta_key: str):
+1
View File
@@ -1,5 +1,6 @@
import io import io
import os import os
import aiofiles import aiofiles
import aiofiles.os import aiofiles.os
+2 -1
View File
@@ -1,6 +1,7 @@
from classquiz.kahoot_importer.get import get
import pytest import pytest
from classquiz.kahoot_importer.get import get
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_get(): async def test_get():
+3 -1
View File
@@ -1,10 +1,12 @@
from classquiz.kahoot_importer.search import search
import pytest import pytest
from classquiz.kahoot_importer.search import search
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_search(): async def test_search():
res = await search(query="Python", limit=100) res = await search(query="Python", limit=100)
print(res)
assert len(res.entities) == 100 assert len(res.entities) == 100
await search(query="Test Quiz", limit=100) await search(query="Test Quiz", limit=100)
await search(query="Biologie", limit=100) await search(query="Biologie", limit=100)
+1
View File
@@ -1,4 +1,5 @@
import pytest import pytest
from classquiz.config import settings from classquiz.config import settings
from classquiz.storage import Storage from classquiz.storage import Storage