modified: app.py

This commit is contained in:
SimolZimol
2025-05-19 17:07:34 +02:00
parent 2f9fe9a2fa
commit 90885257ce

20
app.py
View File

@@ -17,20 +17,34 @@ app.secret_key = os.getenv("SECRET_KEY")
SCOPE = "user-library-read playlist-read-private streaming user-read-email user-read-private"
def get_spotify_client():
return spotipy.Spotify(auth_manager=SpotifyOAuth(
token_info = session.get("token_info", None)
if not token_info:
# Kein Token, redirect handled elsewhere
return None
# Prüfen, ob Token abgelaufen ist
sp_oauth = SpotifyOAuth(
client_id=os.getenv("SPOTIPY_CLIENT_ID"),
client_secret=os.getenv("SPOTIPY_CLIENT_SECRET"),
redirect_uri=os.getenv("SPOTIPY_REDIRECT_URI"),
scope=SCOPE,
cache_path=".cache"
))
)
if sp_oauth.is_token_expired(token_info):
token_info = sp_oauth.refresh_access_token(token_info['refresh_token'])
session["token_info"] = token_info
return spotipy.Spotify(auth=token_info['access_token'])
def similarity(a, b):
return SequenceMatcher(None, a.lower(), b.lower()).ratio()
def clean_title(title):
# Entfernt alles in () oder []
return re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title).strip()
title = re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title)
# Vereinheitliche Apostrophen und Anführungszeichen
title = title.replace("", "'").replace("", "'").replace("`", "'")
title = title.replace('"', '').replace("", '').replace("", '').replace("", '')
title = title.replace("'", "") # Optional: alle Apostrophen entfernen
return title.strip()
def get_all_playlist_tracks(sp, playlist_id):
tracks = []