UPDATE: Removed get profile picture route and moved it to NGINX, and updated how thumbnails were saved to use path_manager
This commit is contained in:
@@ -187,7 +187,7 @@ def init_stream():
|
|||||||
|
|
||||||
# Create necessary directories
|
# Create necessary directories
|
||||||
username = user_info["username"]
|
username = user_info["username"]
|
||||||
create_local_directories(username)
|
create_user_directories(username)
|
||||||
|
|
||||||
return redirect(f"/stream/{username}")
|
return redirect(f"/stream/{username}")
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ from utils.auth import *
|
|||||||
from utils.utils import get_category_id
|
from utils.utils import get_category_id
|
||||||
from blueprints.middleware import login_required
|
from blueprints.middleware import login_required
|
||||||
from utils.email import send_email, forgot_password_body, newsletter_conf
|
from utils.email import send_email, forgot_password_body, newsletter_conf
|
||||||
|
from utils.path_manager import PathManager
|
||||||
|
from celery_tasks.streaming import convert_image_to_png
|
||||||
import redis
|
import redis
|
||||||
|
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
@@ -14,6 +16,8 @@ r = redis.from_url(redis_url, decode_responses=True)
|
|||||||
|
|
||||||
user_bp = Blueprint("user", __name__)
|
user_bp = Blueprint("user", __name__)
|
||||||
|
|
||||||
|
path_manager = PathManager()
|
||||||
|
|
||||||
@user_bp.route('/user/<string:username>')
|
@user_bp.route('/user/<string:username>')
|
||||||
def user_data(username: str):
|
def user_data(username: str):
|
||||||
"""
|
"""
|
||||||
@@ -42,13 +46,28 @@ def user_profile_picture_save():
|
|||||||
"""
|
"""
|
||||||
Saves user profile picture
|
Saves user profile picture
|
||||||
"""
|
"""
|
||||||
user_id = session.get("user_id")
|
username = session.get("username")
|
||||||
image = request.files['image']
|
thumbnail_path = path_manager.get_profile_picture_file_path(username)
|
||||||
ext = image.filename.split('.')[-1]
|
|
||||||
|
|
||||||
image.save(f"/web_server/stream_data/{user_id}.{ext}")
|
# Check if the post request has the file part
|
||||||
|
if 'image' not in request.files:
|
||||||
|
return jsonify({"error": "No image found in request"}), 400
|
||||||
|
|
||||||
|
# Fetch image, convert to png, and save
|
||||||
|
image = Image.open(request.files['image'])
|
||||||
|
image.convert('RGB')
|
||||||
|
image.save(thumbnail_path, "PNG")
|
||||||
|
|
||||||
return "Success", 200
|
return jsonify({"message": "Profile picture saved"})
|
||||||
|
|
||||||
|
|
||||||
|
@user_bp.route('/user/profile_picture/<string:username>')
|
||||||
|
def user_profile_picture(username: str):
|
||||||
|
"""
|
||||||
|
Returns the profile picture of a user
|
||||||
|
"""
|
||||||
|
user_id = get_user_id(username)
|
||||||
|
image = Image.open(f"/web_server/stream_data/{user_id}.jpg")
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@user_bp.route('/user/same/<string:username>')
|
@user_bp.route('/user/same/<string:username>')
|
||||||
|
|||||||
Reference in New Issue
Block a user