mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
fix: reformat upload files
This commit is contained in:
parent
88644ad902
commit
805df9b520
6 changed files with 30 additions and 28 deletions
|
|
@ -1,14 +1,13 @@
|
||||||
import json
|
import json
|
||||||
import os
|
|
||||||
from typing import List
|
from typing import List
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from src.services.courses.elements.elements import ElementInDB
|
from src.services.courses.elements.elements import ElementInDB
|
||||||
from src.services.uploads import upload_thumbnail
|
from src.services.courses.thumbnails import upload_thumbnail
|
||||||
from src.services.users import PublicUser, User
|
from src.services.users import PublicUser
|
||||||
from src.services.database import create_config_collection, check_database, create_database, learnhouseDB
|
from src.services.database import check_database, learnhouseDB
|
||||||
from src.services.security import *
|
from src.services.security import *
|
||||||
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks, UploadFile, File
|
from fastapi import HTTPException, status, UploadFile
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
#### Classes ####################################################
|
#### Classes ####################################################
|
||||||
|
|
@ -79,7 +78,6 @@ async def get_course_meta(course_id: str, current_user: PublicUser):
|
||||||
course = courses.find_one({"course_id": course_id})
|
course = courses.find_one({"course_id": course_id})
|
||||||
elements = learnhouseDB["elements"]
|
elements = learnhouseDB["elements"]
|
||||||
|
|
||||||
|
|
||||||
# verify course rights
|
# verify course rights
|
||||||
await verify_rights(course_id, current_user, "read")
|
await verify_rights(course_id, current_user, "read")
|
||||||
|
|
||||||
|
|
@ -87,7 +85,6 @@ async def get_course_meta(course_id: str, current_user: PublicUser):
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_409_CONFLICT, detail="Course does not exist")
|
status_code=status.HTTP_409_CONFLICT, detail="Course does not exist")
|
||||||
|
|
||||||
|
|
||||||
coursechapters = coursechapters.find(
|
coursechapters = coursechapters.find(
|
||||||
{"course_id": course_id}).sort("name", 1)
|
{"course_id": course_id}).sort("name", 1)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,7 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
async def upload_thumbnail(thumbnail_file, name_in_disk):
|
async def upload_video(video_file, element_id):
|
||||||
contents = thumbnail_file.file.read()
|
|
||||||
try:
|
|
||||||
with open(f"content/uploads/img/{name_in_disk}", 'wb') as f:
|
|
||||||
f.write(contents)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
print(e)
|
|
||||||
return {"message": "There was an error uploading the file"}
|
|
||||||
finally:
|
|
||||||
thumbnail_file.file.close()
|
|
||||||
|
|
||||||
|
|
||||||
async def upload_video(video_file, name_in_disk, element_id):
|
|
||||||
contents = video_file.file.read()
|
contents = video_file.file.read()
|
||||||
video_format = video_file.filename.split(".")[-1]
|
video_format = video_file.filename.split(".")[-1]
|
||||||
# create folder
|
# create folder
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from src.services.database import create_config_collection, check_database, create_database, learnhouseDB
|
from src.services.database import check_database, learnhouseDB
|
||||||
from src.services.security import verify_user_rights_with_roles
|
from src.services.security import verify_user_rights_with_roles
|
||||||
from src.services.uploads import upload_video
|
from src.services.courses.elements.uploads import upload_video
|
||||||
from src.services.users import PublicUser, User
|
from src.services.users import PublicUser
|
||||||
from src.services.courses.elements.elements import ElementInDB, Element
|
from src.services.courses.elements.elements import ElementInDB
|
||||||
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks, UploadFile, File
|
from fastapi import HTTPException, status, UploadFile
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
@ -48,7 +48,7 @@ async def create_video_element(name: str, coursechapter_id: str, current_user:
|
||||||
print("uploading video")
|
print("uploading video")
|
||||||
# get videofile format
|
# get videofile format
|
||||||
|
|
||||||
await upload_video(video_file, video_file.filename, element_id)
|
await upload_video(video_file, element_id)
|
||||||
|
|
||||||
# todo : choose whether to update the chapter or not
|
# todo : choose whether to update the chapter or not
|
||||||
# update chapter
|
# update chapter
|
||||||
|
|
|
||||||
4
src/services/courses/files/photos.py
Normal file
4
src/services/courses/files/photos.py
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
from uuid import uuid4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
0
src/services/courses/files/videos.py
Normal file
0
src/services/courses/files/videos.py
Normal file
15
src/services/courses/thumbnails.py
Normal file
15
src/services/courses/thumbnails.py
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
async def upload_thumbnail(thumbnail_file, name_in_disk):
|
||||||
|
contents = thumbnail_file.file.read()
|
||||||
|
try:
|
||||||
|
with open(f"content/uploads/img/{name_in_disk}", 'wb') as f:
|
||||||
|
f.write(contents)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
return {"message": "There was an error uploading the file"}
|
||||||
|
finally:
|
||||||
|
thumbnail_file.file.close()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue