chore: cleanup python code

This commit is contained in:
swve 2023-05-08 09:39:11 +00:00
parent 05f8539361
commit 7d78d06165
30 changed files with 46 additions and 87 deletions

View file

@ -3,8 +3,6 @@ from fastapi import Depends, APIRouter, HTTPException, status, Request
from fastapi.security import OAuth2PasswordRequestForm
from src.security.auth import *
from src.services.users.users import *
from datetime import timedelta
from fastapi.responses import JSONResponse
router = APIRouter()

View file

@ -1,6 +1,6 @@
from fastapi import APIRouter, Depends, UploadFile, Form, Request
from src.security.auth import get_current_user
from fastapi import HTTPException, status, UploadFile
from fastapi import UploadFile
from src.services.blocks.block_types.imageBlock.images import create_image_block, get_image_block
from src.services.blocks.block_types.videoBlock.videoBlock import create_video_block, get_video_block
from src.services.blocks.block_types.pdfBlock.pdfBlock import create_pdf_block, get_pdf_block

View file

@ -1,4 +1,4 @@
from fastapi import APIRouter, Depends, Request, UploadFile, Form
from fastapi import APIRouter, Depends, Request
from src.services.courses.chapters import CourseChapter, CourseChapterMetaData, create_coursechapter, delete_coursechapter, get_coursechapter, get_coursechapters, get_coursechapters_meta, update_coursechapter, update_coursechapters_meta
from src.services.users.users import PublicUser

View file

@ -1,6 +1,6 @@
from fastapi import APIRouter, Depends, Request
from src.security.auth import get_current_user
from src.services.users.users import PublicUser, User
from src.services.users.users import PublicUser
from src.services.courses.collections import Collection, create_collection, get_collection, get_collections, update_collection, delete_collection

View file

@ -2,7 +2,7 @@ from fastapi import APIRouter, Depends, Request
from src.security.auth import get_current_user
from src.services.roles.schemas.roles import Role
from src.services.roles.roles import create_role, delete_role, read_role, update_role
from src.services.users.schemas.users import PublicUser, User
from src.services.users.schemas.users import PublicUser
router = APIRouter()

View file

@ -1,4 +1,3 @@
from typing import Optional
from fastapi import APIRouter, Depends, Request
from src.security.auth import get_current_user
from src.services.trail import Trail, add_activity_to_trail, add_course_to_trail, create_trail, get_user_trail_with_orgslug, get_user_trail, remove_course_from_trail

View file

@ -1,9 +1,7 @@
from fastapi import Depends, FastAPI, APIRouter
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
from pydantic import BaseModel
from fastapi import Depends, APIRouter
from src.security.auth import *
from src.services.users.schemas.users import PasswordChangeForm, PublicUser, User, UserWithPassword
from src.services.users.users import create_user, delete_user, get_profile_metadata, get_user_by_userid, read_user, update_user, update_user_password
from src.services.users.users import create_user, delete_user, get_profile_metadata, get_user_by_userid, update_user, update_user_password

View file

@ -1,15 +1,12 @@
from pydantic import BaseModel
from fastapi import Depends, FastAPI, APIRouter, HTTPException, status
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
from passlib.context import CryptContext
from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer
from jose import JWTError, jwt
from datetime import datetime, timedelta
from src.services.users.schemas.users import AnonymousUser
from src.services.users.users import *
from fastapi import Cookie, FastAPI
from src.security.security import *
from fastapi_jwt_auth import AuthJWT
from fastapi_jwt_auth.exceptions import AuthJWTException
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/auth/login")

View file

@ -1,10 +1,9 @@
from pprint import pprint
from fastapi import HTTPException, status, Request
from passlib.context import CryptContext
from passlib.hash import pbkdf2_sha256
from src.services.roles.schemas.roles import RoleInDB
from src.services.users.schemas.users import User, UserInDB
from src.services.users.schemas.users import UserInDB
### 🔒 JWT ##############################################################

View file

@ -1,8 +1,5 @@
from uuid import uuid4
from pydantic import BaseModel
from fastapi import HTTPException, status, UploadFile, Request
from fastapi.responses import StreamingResponse
import os
from src.services.blocks.schemas.blocks import Block
from src.services.blocks.utils.upload_files import upload_file_and_return_file_object

View file

@ -1,8 +1,5 @@
from uuid import uuid4
from pydantic import BaseModel
from fastapi import HTTPException, status, UploadFile, Request
from fastapi.responses import StreamingResponse
import os
from src.services.blocks.schemas.blocks import Block
from src.services.blocks.utils.upload_files import upload_file_and_return_file_object

View file

@ -1,8 +1,5 @@
from uuid import uuid4
from pydantic import BaseModel
import os
from fastapi import HTTPException, status, UploadFile, Request
from fastapi.responses import StreamingResponse
from src.services.blocks.schemas.blocks import Block
from src.services.blocks.utils.upload_files import upload_file_and_return_file_object

View file

@ -1,7 +1,5 @@
from typing import Any, List, Literal
from uuid import uuid4
from fastapi import Request
from typing import Any, Literal
from pydantic import BaseModel

View file

@ -3,7 +3,6 @@ import uuid
from fastapi import HTTPException, Request, UploadFile, status
from src.services.blocks.schemas.files import BlockFile
from src.services.users.schemas.users import PublicUser
async def upload_file_and_return_file_object(request: Request, file: UploadFile, activity_id: str, block_id: str, list_of_allowed_file_formats: list, type_of_block: str):

View file

@ -1,7 +1,7 @@
from pydantic import BaseModel
from src.security.security import verify_user_rights_with_roles
from src.services.users.schemas.users import PublicUser, User
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks, UploadFile, File
from src.services.users.schemas.users import PublicUser
from fastapi import HTTPException, status, Request
from uuid import uuid4
from datetime import datetime

View file

@ -1,4 +1,3 @@
from pydantic import BaseModel
from src.security.security import verify_user_rights_with_roles
from src.services.courses.activities.uploads.pdfs import upload_pdf
from src.services.users.users import PublicUser

View file

@ -17,7 +17,7 @@ async def upload_pdf(pdf_file, activity_id):
f.write(contents)
f.close()
except Exception as e:
except Exception:
return {"message": "There was an error uploading the file"}
finally:
pdf_file.file.close()

View file

@ -17,7 +17,7 @@ async def upload_video(video_file, activity_id):
f.write(contents)
f.close()
except Exception as e:
except Exception:
return {"message": "There was an error uploading the file"}
finally:
video_file.file.close()

View file

@ -1,4 +1,3 @@
from pydantic import BaseModel
from src.security.security import verify_user_rights_with_roles
from src.services.courses.activities.uploads.videos import upload_video
from src.services.users.users import PublicUser

View file

@ -1,15 +1,13 @@
from datetime import datetime
import json
import pprint
from typing import List
from uuid import uuid4
from pydantic import BaseModel
from src.security.auth import non_public_endpoint
from src.services.courses.courses import Course, CourseInDB
from src.services.courses.activities.activities import Activity, ActivityInDB
from src.services.courses.courses import Course
from src.services.courses.activities.activities import ActivityInDB
from src.security.security import verify_user_rights_with_roles
from src.services.users.users import PublicUser
from fastapi import HTTPException, status, Request, Response, BackgroundTasks, UploadFile, File
from fastapi import HTTPException, status, Request
class CourseChapter(BaseModel):
@ -115,7 +113,7 @@ async def delete_coursechapter(request: Request, coursechapter_id: str, current
await verify_rights(request, course["course_id"], current_user, "delete")
# Remove coursechapter from course
res = await courses.update_one({"course_id": course["course_id"]}, {
await courses.update_one({"course_id": course["course_id"]}, {
"$pull": {"chapters": coursechapter_id}})
await courses.update_one({"chapters_content.coursechapter_id": coursechapter_id}, {
@ -200,7 +198,7 @@ async def update_coursechapters_meta(request: Request, course_id: str, coursecha
courses = request.app.db["courses"]
# update chapters in course
courseInDB = await courses.update_one({"course_id": course_id}, {
await courses.update_one({"course_id": course_id}, {
"$set": {"chapters": coursechapters_metadata.chapterOrder}})
if coursechapters_metadata.chapters is not None:
@ -230,7 +228,7 @@ async def verify_rights(request: Request, course_id: str, current_user: PublicUs
if not course:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail=f"Course does not exist")
status_code=status.HTTP_409_CONFLICT, detail="Course does not exist")
hasRoleRights = await verify_user_rights_with_roles(request, action, current_user.user_id, course_id, course["org_id"])
isAuthor = current_user.user_id in course["authors"]

View file

@ -1,11 +1,9 @@
import json
from typing import List
from uuid import uuid4
from pydantic import BaseModel
from src.services.users.users import PublicUser, User
from src.services.users.users import PublicUser
from src.security.security import *
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks
from datetime import datetime
from fastapi import HTTPException, status, Request
#### Classes ####################################################

View file

@ -271,7 +271,7 @@ async def get_courses_orgslug(request: Request, page: int = 1, limit: int = 10,
if not org:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail=f"Organization does not exist")
status_code=status.HTTP_409_CONFLICT, detail="Organization does not exist")
# get all courses from database
all_courses = courses.find({"org_id": org['org_id']}).sort(
@ -288,12 +288,12 @@ async def verify_rights(request: Request, course_id: str, current_user: PublicUs
course = await courses.find_one({"course_id": course_id})
if current_user.user_id == "anonymous" and course["public"] == True and action == "read":
if current_user.user_id == "anonymous" and course["public"] is True and action == "read":
return True
if not course:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail=f"Course/CourseChapter does not exist")
status_code=status.HTTP_409_CONFLICT, detail="Course/CourseChapter does not exist")
hasRoleRights = await verify_user_rights_with_roles(request, action, current_user.user_id, course_id, course["org_id"])
isAuthor = current_user.user_id in course["authors"]

View file

@ -11,7 +11,7 @@ async def upload_thumbnail(thumbnail_file, name_in_disk):
f.write(contents)
f.close()
except Exception as e:
except Exception:
return {"message": "There was an error uploading the file"}
finally:
thumbnail_file.file.close()

View file

@ -1,22 +1,17 @@
import os
import requests
from datetime import datetime
from fileinput import filename
from pprint import pprint
from uuid import uuid4
from fastapi import File, UploadFile, Request
from fastapi import Request
from src.security.security import security_hash_password
from src.services.courses.chapters import CourseChapter, create_coursechapter
from src.services.courses.activities.activities import Activity, create_activity
from src.services.courses.thumbnails import upload_thumbnail
from src.services.users.schemas.users import UserRolesInOrganization
from src.services.users.users import PublicUser, User, UserInDB, UserWithPassword
from src.services.users.users import PublicUser, UserInDB
from src.services.orgs import OrganizationInDB, Organization, create_org
from src.services.orgs import Organization, create_org
from src.services.roles.schemas.roles import Permission, Elements, RoleInDB
from src.services.users.users import create_user
from src.services.courses.courses import Course, CourseInDB, create_course
from src.services.roles.roles import Role, create_role
from src.services.courses.courses import CourseInDB
from faker import Faker
@ -39,12 +34,12 @@ async def create_initial_data(request: Request):
update_date=str(datetime.now()),
roles= [],
orgs=[],
username=f"admin",
email=f"admin@admin.admin",
username="admin",
email="admin@admin.admin",
password=str(await security_hash_password("admin")),
)
db_admin_user = await database_users.insert_one(admin_user.dict())
await database_users.insert_one(admin_user.dict())
# find admin user
users = request.app.db["users"]
@ -188,9 +183,9 @@ async def create_initial_data(request: Request):
"https://source.unsplash.com/random/800x600/?img=1")
# check if folder exists and create it if not
if not os.path.exists(f"content/uploads/img"):
if not os.path.exists("content/uploads/img"):
os.makedirs(f"content/uploads/img")
os.makedirs("content/uploads/img")
with open(f"content/uploads/img/{name_in_disk}", "wb") as f:
f.write(image.content)
@ -198,7 +193,7 @@ async def create_initial_data(request: Request):
course.thumbnail = name_in_disk
course = CourseInDB(**course.dict())
course_in_db = await courses.insert_one(course.dict())
await courses.insert_one(course.dict())
# create chapters
for i in range(0, 5):

View file

@ -1,12 +1,10 @@
import json
from typing import List
from uuid import uuid4
from pydantic import BaseModel
from src.services.users.schemas.users import UserOrganization
from src.services.users.users import PublicUser, User
from src.services.users.users import PublicUser
from src.security.security import *
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks
from datetime import datetime
from fastapi import HTTPException, status, Request
#### Classes ####################################################
@ -109,8 +107,8 @@ async def update_org(request: Request, org_object: Organization, org_id: str, cu
org = await orgs.find_one({"org_id": org_id})
if org:
owners = org["owners"]
admins = org["admins"]
org["owners"]
org["admins"]
else:
raise HTTPException(
@ -153,7 +151,7 @@ async def get_orgs_by_user(request: Request, user_id: str, page: int = 1, limit:
orgs = request.app.db["organizations"]
user = request.app.db["users"]
if user_id is "anonymous":
if user_id == "anonymous":
# raise error
raise HTTPException(

View file

@ -1,9 +1,7 @@
import json
from typing import List, Literal
from typing import Literal
from uuid import uuid4
from pydantic import BaseModel
from src.services.roles.schemas.roles import Role, RoleInDB
from src.services.users.schemas.users import PublicUser, User
from src.services.users.schemas.users import PublicUser
from src.security.security import *
from fastapi import HTTPException, status, Request
from datetime import datetime
@ -63,7 +61,7 @@ async def delete_role(request: Request, role_id: str, current_user: PublicUser):
#### Security ####################################################
async def verify_user_permissions_on_roles(request: Request, current_user: PublicUser, action: Literal["create", "read", "update", "delete"], role_id: str | None):
users = request.app.db["users"]
request.app.db["users"]
roles = request.app.db["roles"]
# If current user is not authenticated

View file

@ -1,4 +1,4 @@
from typing import List, Literal
from typing import Literal
from pydantic import BaseModel

View file

@ -1,6 +1,4 @@
from cmath import log
from datetime import datetime
import json
from typing import List, Literal, Optional
from uuid import uuid4
from fastapi import HTTPException, Request, status

View file

@ -2,7 +2,6 @@ from datetime import datetime
from typing import Literal
from uuid import uuid4
from fastapi import HTTPException, Request, status
from src.services.roles.schemas.roles import Role
from src.security.security import security_hash_password, security_verify_password
from src.services.users.schemas.users import PasswordChangeForm, PublicUser, User, UserOrganization, UserRolesInOrganization, UserWithPassword, UserInDB
@ -195,7 +194,7 @@ async def get_user_by_userid(request: Request, user_id: str):
async def get_profile_metadata(request: Request, user):
users = request.app.db["users"]
roles = request.app.db["roles"]
request.app.db["roles"]
user = await users.find_one({"user_id": user['user_id']})