diff --git a/files/routes/settings.py b/files/routes/settings.py index 4a22528ee..97f01bdf9 100644 --- a/files/routes/settings.py +++ b/files/routes/settings.py @@ -761,7 +761,9 @@ def settings_song_change_mp3(v): if file.content_type != 'audio/mpeg': return render_template("settings_profile.html", v=v, error="Not a valid MP3 file") - name = f'/songs/{v.id}.mp3' + song = str(time.time()).replace('.','') + + name = f'/songs/{song}.mp3' file.save(name) size = os.stat(name).st_size @@ -769,7 +771,10 @@ def settings_song_change_mp3(v): os.remove(name) return render_template("settings_profile.html", v=v, error="MP3 file must be smaller than 8MB") - v.song = v.id + if path.isfile(f"/songs/{v.song}.mp3") and g.db.query(User).filter_by(song=v.song).count() == 1: + os.remove(f"/songs/{v.song}.mp3") + + v.song = song g.db.add(v) return redirect("/settings/profile") diff --git a/files/templates/settings_profile.html b/files/templates/settings_profile.html index 273eb4183..6af02ab22 100644 --- a/files/templates/settings_profile.html +++ b/files/templates/settings_profile.html @@ -400,8 +400,8 @@