🚨 Optimized python-imports
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from classquiz.socket_server import sio
|
|
||||||
from socketio import ASGIApp
|
from socketio import ASGIApp
|
||||||
|
|
||||||
from classquiz.routers import users, quiz, utils
|
|
||||||
from classquiz.db import database
|
from classquiz.db import database
|
||||||
|
from classquiz.routers import users, quiz, utils
|
||||||
|
from classquiz.socket_server import sio
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
app.state.database = database
|
app.state.database = database
|
||||||
|
|||||||
+16
-16
@@ -1,21 +1,21 @@
|
|||||||
|
from datetime import timedelta
|
||||||
|
from typing import Dict
|
||||||
|
from typing import Optional
|
||||||
|
from typing import Union
|
||||||
|
|
||||||
|
from fastapi import Depends
|
||||||
|
from fastapi import HTTPException
|
||||||
|
from fastapi import Request
|
||||||
|
from fastapi import status
|
||||||
|
from fastapi.openapi.models import OAuthFlows as OAuthFlowsModel
|
||||||
|
from fastapi.security import OAuth2
|
||||||
|
from fastapi.security.utils import get_authorization_scheme_param
|
||||||
|
from jose import JWTError, jwt
|
||||||
|
from passlib.hash import argon2
|
||||||
|
|
||||||
|
from classquiz.cache import get_cache
|
||||||
from classquiz.config import settings
|
from classquiz.config import settings
|
||||||
from classquiz.db.models import *
|
from classquiz.db.models import *
|
||||||
from typing import Union
|
|
||||||
from jose import JWTError, jwt
|
|
||||||
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
|
|
||||||
from passlib.hash import argon2
|
|
||||||
from datetime import datetime, timedelta
|
|
||||||
from classquiz.cache import get_cache
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException, status
|
|
||||||
from fastapi.security import OAuth2
|
|
||||||
from fastapi.openapi.models import OAuthFlows as OAuthFlowsModel
|
|
||||||
from fastapi import Request
|
|
||||||
from fastapi.security.utils import get_authorization_scheme_param
|
|
||||||
from fastapi import HTTPException
|
|
||||||
from fastapi import status
|
|
||||||
from typing import Optional
|
|
||||||
from typing import Dict
|
|
||||||
import pydantic
|
|
||||||
|
|
||||||
# pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
# pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
||||||
pwd_context = argon2
|
pwd_context = argon2
|
||||||
|
|||||||
+6
-4
@@ -1,9 +1,11 @@
|
|||||||
|
import uuid
|
||||||
|
from json import loads
|
||||||
|
from typing import Union
|
||||||
|
|
||||||
|
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
|
||||||
import ormar
|
|
||||||
import uuid
|
|
||||||
from typing import Union
|
|
||||||
from json import loads, dumps
|
|
||||||
|
|
||||||
|
|
||||||
async def cache_account(criteria: str, content: str) -> Union[User, None]:
|
async def cache_account(criteria: str, content: str) -> Union[User, None]:
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
from pydantic import BaseSettings, RedisDsn, PostgresDsn
|
|
||||||
import redis.asyncio as redis_lib
|
import redis.asyncio as redis_lib
|
||||||
|
from pydantic import BaseSettings, RedisDsn, PostgresDsn
|
||||||
|
|
||||||
|
|
||||||
class Settings(BaseSettings):
|
class Settings(BaseSettings):
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import databases
|
import databases
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
|
|
||||||
from classquiz.config import settings
|
from classquiz.config import settings
|
||||||
|
|
||||||
database = databases.Database(settings.db_url)
|
database = databases.Database(settings.db_url)
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import uuid
|
import uuid
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Optional
|
|
||||||
from pydantic import BaseModel, Json
|
|
||||||
from . import metadata, database
|
|
||||||
import ormar
|
import ormar
|
||||||
|
from pydantic import BaseModel, Json
|
||||||
|
|
||||||
|
from . import metadata, database
|
||||||
|
|
||||||
|
|
||||||
class User(ormar.Model):
|
class User(ormar.Model):
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
from jinja2 import Environment, PackageLoader, select_autoescape
|
|
||||||
from classquiz.db.models import User
|
|
||||||
|
|
||||||
from email.mime.multipart import MIMEMultipart
|
|
||||||
from classquiz.config import settings
|
|
||||||
from email.mime.text import MIMEText
|
|
||||||
import smtplib
|
import smtplib
|
||||||
import ssl
|
import ssl
|
||||||
|
from email.mime.multipart import MIMEMultipart
|
||||||
|
from email.mime.text import MIMEText
|
||||||
|
|
||||||
|
from jinja2 import Environment, PackageLoader, select_autoescape
|
||||||
|
|
||||||
|
from classquiz.config import settings
|
||||||
|
from classquiz.db.models import User
|
||||||
|
|
||||||
jinja = Environment(
|
jinja = Environment(
|
||||||
loader=PackageLoader('classquiz.emails', 'templates'),
|
loader=PackageLoader('classquiz.emails', 'templates'),
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import uuid
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from random import randint
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, HTTPException
|
from fastapi import APIRouter, Depends, HTTPException
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from classquiz.config import redis
|
|
||||||
|
|
||||||
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
|
||||||
from classquiz.db.models import Quiz, QuizInput, User, PlayGame
|
from classquiz.db.models import Quiz, QuizInput, User, PlayGame
|
||||||
from random import randint
|
|
||||||
import uuid
|
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException, Response
|
|
||||||
from email_validator import validate_email, EmailNotValidError
|
from email_validator import validate_email, EmailNotValidError
|
||||||
from classquiz.auth import *
|
from fastapi import APIRouter, Response
|
||||||
from fastapi.background import BackgroundTasks
|
from fastapi.background import BackgroundTasks
|
||||||
from classquiz.emails import send_mail
|
|
||||||
from classquiz.config import redis
|
|
||||||
from fastapi.responses import JSONResponse, RedirectResponse
|
from fastapi.responses import JSONResponse, RedirectResponse
|
||||||
|
from fastapi.security import OAuth2PasswordRequestForm
|
||||||
|
|
||||||
|
from classquiz.auth import *
|
||||||
|
from classquiz.config import redis
|
||||||
from classquiz.db.models import *
|
from classquiz.db.models import *
|
||||||
|
from classquiz.emails import send_mail
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|||||||
@@ -3,9 +3,10 @@ import io
|
|||||||
import qrcode
|
import qrcode
|
||||||
import qrcode.image.svg
|
import qrcode.image.svg
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
from classquiz.config import settings
|
|
||||||
from fastapi.responses import Response
|
from fastapi.responses import Response
|
||||||
|
|
||||||
|
from classquiz.config import settings
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import socketio
|
|
||||||
import json
|
import json
|
||||||
from classquiz.config import redis, settings
|
|
||||||
from classquiz.db.models import GameSession, GameAnser1, GameAnser2, PlayGame
|
|
||||||
import aiohttp
|
|
||||||
from redis.commands.json.path import Path
|
|
||||||
|
|
||||||
sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins="*")
|
import aiohttp
|
||||||
|
import socketio
|
||||||
|
|
||||||
|
from classquiz.config import redis, settings
|
||||||
|
from classquiz.db.models import GameSession, PlayGame
|
||||||
|
|
||||||
|
sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins=[])
|
||||||
|
|
||||||
|
|
||||||
@sio.event
|
@sio.event
|
||||||
@@ -62,7 +63,8 @@ async def register_as_admin(sid, data):
|
|||||||
game_pin = data["game_pin"]
|
game_pin = data["game_pin"]
|
||||||
game_id = data["game_id"]
|
game_id = data["game_id"]
|
||||||
if (await redis.get(f"game_session:{game_pin}")) is None:
|
if (await redis.get(f"game_session:{game_pin}")) is None:
|
||||||
await redis.set(f"game_session:{game_pin}", json.dumps({"admin": sid, "game_id": game_id, "players": []}), ex=18000)
|
await redis.set(f"game_session:{game_pin}", json.dumps({"admin": sid, "game_id": game_id, "players": []}),
|
||||||
|
ex=18000)
|
||||||
|
|
||||||
await sio.emit("registered_as_admin", {"game_id": game_id, "game": await redis.get(f"game:{data['game_pin']}")},
|
await sio.emit("registered_as_admin", {"game_id": game_id, "game": await redis.get(f"game:{data['game_pin']}")},
|
||||||
room=sid)
|
room=sid)
|
||||||
@@ -107,7 +109,8 @@ async def submit_answer(sid, data):
|
|||||||
if answers is None:
|
if answers is None:
|
||||||
await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}",
|
await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}",
|
||||||
json.dumps(
|
json.dumps(
|
||||||
[{"username": session["username"], "answer": data["answer"], "right": answer_right}]), ex=18000)
|
[{"username": session["username"], "answer": data["answer"], "right": answer_right}]),
|
||||||
|
ex=18000)
|
||||||
else:
|
else:
|
||||||
answers = json.loads(answers)
|
answers = json.loads(answers)
|
||||||
answers.append({"username": session["username"], "answer": data["answer"], "right": answer_right})
|
answers.append({"username": session["username"], "answer": data["answer"], "right": answer_right})
|
||||||
|
|||||||
Reference in New Issue
Block a user