From 00bd17eee1ee3cbdac87a62549488c75a3c74b5e Mon Sep 17 00:00:00 2001 From: Chris Fulljames Date: Sun, 9 Feb 2025 14:31:53 -0500 Subject: [PATCH] Use jpeg for profile pictures --- main.py | 8 ++++++-- test/test_offline.py | 2 +- todo.txt | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index fbd61fc..d777b48 100644 --- a/main.py +++ b/main.py @@ -183,10 +183,14 @@ def edit_profile(): get_db().commit() if request.files["pfp"]: - pfp_path = get_user_images_path(session["userid"]) / "pfp.png" + pfp_path = get_user_images_path(session["userid"]) / "pfp.jpg" try: with Image.open(request.files["pfp"]) as im: + # Drop alpha channel + if im.mode in ("RGBA", "P"): + im = im.convert("RGB") + target_size = 256 # Square (same width/height) # Resize if im.width >= im.height: @@ -218,7 +222,7 @@ def edit_profile(): @app.get("/pfp/") def pfp(userid): - return send_from_directory(DATA_DIR / "images" / str(userid), "pfp.png") + return send_from_directory(DATA_DIR / "images" / str(userid), "pfp.jpg") @app.get("/edit-song") def edit_song(): diff --git a/test/test_offline.py b/test/test_offline.py index 34fd7d8..539f124 100644 --- a/test/test_offline.py +++ b/test/test_offline.py @@ -217,7 +217,7 @@ def test_get_pfp(client): response = client.get("/pfp/1") assert response.status_code == 200 - assert response.mimetype == "image/png" + assert response.mimetype == "image/jpeg" # Can't check image file, since site has modified it def test_get_pfp_no_file(client): diff --git a/todo.txt b/todo.txt index 4aa7a75..16eded9 100644 --- a/todo.txt +++ b/todo.txt @@ -1,7 +1,7 @@ NOW +- Apply user colors to songs in lists outside profile SOON -- Apply user colors to songs in lists outside profile - Player minimize button - Shuffle all - AJAX pages so songs can play during navigation -- 2.39.5